0
点赞
收藏
分享

微信扫一扫

根据手机分辨率自动调整自定义控件的字体和位置大小


编者:李国帅


背景原因:

android手机的分辨率很多,手机大小也不一。使用自适应资源文件(dimen),可以方便的Android不同分辨率屏幕下进行自适应。

资源文件位置

根据手机分辨率自动调整自定义控件的字体和位置大小_android

布局中调用方式

根据手机分辨率自动调整自定义控件的字体和位置大小_资源文件_02

 

所需资源:

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);设置。

 

 

举报

相关推荐

0 条评论