编者:李国帅
背景原因:
android手机的分辨率很多,手机大小也不一。使用自适应资源文件(dimen),可以方便的Android不同分辨率屏幕下进行自适应。
资源文件位置
布局中调用方式
所需资源:
Android,dimen资源
解决方案:
如果进行自定时view时,如何根据不同手机自适应大小呢?可以使用如下方法
调整字体
public class CustomTextView extends android.support.v7.widget.AppCompatTextView {
float size=getResources().getDimension(R.dimen.sp_13);
setTextSize(TypedValue.COMPLEX_UNIT_PX,size);
调整大小
public class ActionsPagerAdapter extends PagerAdapter {
ViewGroup.LayoutParams layoutParams = mViewPager.getLayoutParams();
float oneHeight = mContext.getResources().getDimension(R.dimen.dp_80);//不同的分辨率设置不同的R.dimen.dp_80值
float marginHeight = mContext.getResources().getDimension(R.dimen.dp_2);
float actionHeight = oneHeight+marginHeight;
layoutParams.height = (int)actionHeight;
mViewPager.setLayoutParams(layoutParams);
原理:
1、不同的分辨率设置不同的R.dimen.sp_13值。
2、getResources().getDimension获取的值对应于像素,所以可以使用setTextSize(TypedValue.COMPLEX_UNIT_PX,size);设置。