有的时候,我们需要根据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为一个值