一:res->values下新建dimens.xml文件,并定义控件尺寸。
<dimen name="lesson_recover_width">94dp</dimen>
<dimen name="lesson_recover_height">125dp</dimen>
二:布局注意layout_width和layout_height值要设置为wrap_content,否则dimen定义无效。
网上有人在布局中加入
android:width="@dimen/lesson_recover_width"
android:height="@dimen/lesson_recover_height"
其实不加也没关系,对控件的宽高设置在java code中完成
<ImageView
android:id="@+id/topImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:layout_alignParentLeft="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="10dp" />
三:java code中定义控件的尺寸
其中TextView,Button等可以直接setWidth、setHeight
Button btn_title = (Button)findViewById(R.id.btn_title);
btn_title.setWidth((int)context.getResources().getDimension(R.dimen.lesson_recover_width));
btn_title.setHeight((int)btn_title.getResources().getDimension(R.dimen.lesson_recover_height));
Image则需要借助LayoutParams,定义如下
ImageView image = (ImageView) findViewById(R.id.news_image);
LayoutParams pra = image.getLayoutParams();
pra.width = (int)getResources().getDimension(R.dimen.list_item_image_width);
pra.height = (int)getResources().getDimension(R.dimen.list_item_image_height);
image.setLayoutParams(pra);