Android控件适配

一、在代码中做单个控件的适配

LayoutParams二种形式:

DisplayMetrics dm =new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);


1. imgWidth= dm.widthPixels / 4;
LayoutParams params = new LayoutParams(imgWidth, imgheight);
view.setLayoutParams(params);

2. RelativeLayout relativeLayout1 = (RelativeLayout) view
					.findViewById(R.id.relativeLayout1);
RelativeLayout.LayoutParams layoutParams = (LayoutParams) relativeLayout1.getLayoutParams();
float indicatorWidth = dm.widthPixels / 6;
layoutParams.width = (int) (indicatorWidth * 5);
relativeLayout1.setLayoutParams(<span style="font-family: Arial, Helvetica, sans-serif;">layoutParams</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>

二、在Xml配置文件中

使用layout_weight属性。

很多时候大家可能发现布局xml文件中有一个layout_weight属性,是的不是layout_height也不是layout_width,那么layout_weight是什么呢? 它的定义是一个比重。比如在一个LinearLayout中,有三个TextView控件,如果第一个设置layout_height为1,第二个为1,最后一个为2,这时候这三个TextView控件的大小为 1:1:2 。在Android开发中我们可能经常用到这个属性来排列一些控件。

<LinearLayout

      android:orientation="horizontal"

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:layout_weight="1">

      <TextView

          android:layout_width="fill_parent"

          android:layout_height="fill_parent"

          android:layout_weight="1"

          android:background="#aa0000"

          android:gravity="center"

          android:text="1"/>

      <TextView

          android:layout_width="fill_parent"

          android:layout_height="fill_parent"

          android:layout_weight="2"

          android:background="#00aa00"

          android:gravity="center"

          android:text="2"/>

  </LinearLayout>

效果如下:

三、自定义尺寸

在res目录下建立不同分辨率的dimens文件,这个方法相对来说比较麻烦。但效果很好。如下图:

四、

尽量采用在目前最流行的屏幕尺寸(比如目前占屏幕比重比较多的是 480*800,960*640,720*1280,1080*1800 )上设计。
先了解一下屏幕的级别:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值