android:layout_marginleft 代码设置,在android的java代码中对控件的”layout_marginLeft”进行设置…

android:layout_marginleft 代码设置,在android的java代码中对控件的”layout_marginLeft”进行设置…有的时候,我们需要根据android中的上下文的逻辑对控件的“layout_marginLeft”进行设置(当然,一个控件的其他属性也可以设置,在这里只是举个例子,备忘!)以下是代码的一部分:ivBottomLine=(ImageView)findViewById(R.id.iv_bottom_line);//通过ID取得ImageView对象bottomLineWidth=ivBott…

有的时候,我们需要根据android中的上下文的逻辑对控件的“layout_marginLeft”进行设置(当然,一个控件的其他属性也可以设置,在这里只是举个例子,备忘!)

以下是代码的一部分:

ivBottomLine = (ImageView) findViewById(R.id.iv_bottom_line);//通过ID取得ImageView对象

bottomLineWidth = ivBottomLine.getLayoutParams().width;//取得ImageView的宽

DisplayMetrics dm = new DisplayMetrics();  //定义DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。

getWindowManager().getDefaultDisplay().getMetrics(dm);//将当前窗口的一些信息放在DisplayMetrics类中

int screenW = dm.widthPixels;//获取手机屏幕宽度

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams((int)(dm.density*40+0.5f),(int)(dm.density*2+0.5f) , 1);//定义LayoutParams对象,LinearLayout.LayoutParams类封装了Layout的位置、高、宽等信息。在这里是将view的width,height,weight等信息放进LayoutParams中。

lp.setMargins((int)(screenW / 4.0 – bottomLineWidth) / 2, 0, 0,0 ); //设置layout_marginLeft为一个值,这几个参数分别表示layout_marginLeft,layout_marginRight,layout_marginTop,layout_marginBottom

ivBottomLine.setLayoutParams(lp);//将以上信息设置到ImagView

附加:pix和dip之间相互转换的封装方法

(1)  dip转换成pix

public static int dip2px(Context context, float dpValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (dpValue * scale + 0.5f);

}

(2)pix转换成dip

public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }

今天的文章android:layout_marginleft 代码设置,在android的java代码中对控件的”layout_marginLeft”进行设置…分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12027.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注