社区
Android
帖子详情
关于左边留间隔的问题marginLeft
vnking
2014-10-24 04:56:11
用marginLeft="10dp"来设置距离左边的间隔,但我的要求有点不同。
对于不同的屏幕分辩率,不想采用具体的间隔像素,而是要求一个百分比。
比如:我想让一个控件居中,左右离边缘各有10%的间隔,这应该如何实现呢?
即对于480x???的屏幕,左右各留48个像素
对于1200x????的屏幕,左右各留120个像素。
...全文
411
8
打赏
收藏
关于左边留间隔的问题marginLeft
用marginLeft="10dp"来设置距离左边的间隔,但我的要求有点不同。 对于不同的屏幕分辩率,不想采用具体的间隔像素,而是要求一个百分比。 比如:我想让一个控件居中,左右离边缘各有10%的间隔,这应该如何实现呢? 即对于480x???的屏幕,左右各留48个像素 对于1200x????的屏幕,左右各留120个像素。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangdong20
2014-10-27
打赏
举报
回复
用LinearLayout的weight属性
MR__P
2014-10-27
打赏
举报
回复
如果你能明确比例的话可以用weight属性
骑着蜗牛去爬山
2014-10-27
打赏
举报
回复
左右各加个View占位,然后用weight和gravity。
vnking
2014-10-27
打赏
举报
回复
感觉都有些复杂
yubingqiang123
2014-10-27
打赏
举报
回复
这个是我做的一个不同手机屏幕的适配,看一下对你有帮助有 DisplayMetrics displayMetrics = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidth = displayMetrics.widthPixels; int screenHeight = displayMetrics.heightPixels; System.err.println("打印高:" + screenWidth); System.err.println("打印宽:" + screenHeight); if (screenWidth == 480) { rate = (int) (textsize * (float) screenWidth / 480); rate = (int) (textsize * (float) screenHeight / 800); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 150, 35); layoutParam.setMargins(70, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 1080) { rate = (int) (textsize * (float) screenWidth / 1080 * 1.2); rate = (int) (textsize * (float) screenHeight / 1920 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 300, 80); layoutParam.setMargins(130, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 540) { rate = (int) (textsize * (float) screenWidth / 540 * 1.2); rate = (int) (textsize * (float) screenHeight / 960 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 150, 40); layoutParam.setMargins(70, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 720) { rate = (int) (textsize * (float) screenWidth / 720 * 1.2); rate = (int) (textsize * (float) screenHeight / 1280 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 200, 60); layoutParam.setMargins(90, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else { } game_jinbi.setTextSize(rate); game_shuoming2.setTextSize(rate); game_shuoming.setTextSize(rate); game_gjcishu.setTextSize(rate); game_gjcishu2.setTextSize(rate); }
网络咖啡
2014-10-24
打赏
举报
回复
把margin值写道dimens.xml文件中,使用value-XXX这样的文件来适配不同屏幕尺寸,每个这样的文件夹下面一个dimens.xml文件
小双
2014-10-24
打赏
举报
回复
代码添加也可以,获取屏幕尺寸,然后代码添加控件设置计算出来的长度宽度,还有margin
荔枝别闹了
2014-10-24
打赏
举报
回复
写一个适配文件
相对布局详解
- 这些属性用于设置视图与父容器或相邻视图之间的距离,如`android:layout_
margin
Left
="10dp"`表示视图
左边
与父容器
左边
的间距为10dp。 6. **视图内容对齐** - `android:gravity`和`android:layout_gravity` - `...
jquery实现的V字形显示效果代码
从给定的文件信息中,我们可以提炼出关于使用jQuery实现V字形显示效果的知识点。以下是对文件内容的深入解读: ### jQuery实现V字形显示效果 #### 1. HTML结构 为了实现V字形效果,我们首先需要准备HTML结构作为...
Amcharts JS属性、方法详细使用说明/开发文档.pdf
- `
margin
Left
`:设置图例的
左边
距。 - `horizontalGap`:设置水平
间隔
。 - `equalWidth`:设置是否为等宽的图例项。 - `titleWidth`:设置值的宽度,在图例的右侧显示当前选中值。 - `switchType`:目前暂不...
Android 从底部弹出Dialog(横向满屏)的实例代码
android:layout_
margin
Left
="@dimen/
margin
_15" android:layout_
margin
Right="@dimen/
margin
_15" android:background="@color/line_color" /> <!-- 这里可以添加其他视图,例如关闭按钮等 --> ``` 接下来,...
MZBannerView-仿魅族BannerView,图片轮播控件,支持多种模式切换:普通ViewPager使用,普通Banner使用,仿魅族Banner使用。.zip
banner 显示 造成 ANR 的bug(如果在onCreate()中设置资源显示则没
问题
)v1.1.2 : fix 更改数据之后,调用setPages重新刷新数据会crush的bugv2.0.0 :1,add: 添加仿魅族Banner效果,中间Page覆盖两边。 -- 2,fix 部分...
Android
80,472
社区成员
91,384
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章