1. 程式人生 > >android 用程式碼完全實現xml佈局的控制

android 用程式碼完全實現xml佈局的控制

有的時候我們必須用程式碼來控制佈局,最常見的就是長和寬,其實用程式碼控制可以做到xml程式碼控制不了的目的。看如下程式碼。

View view=((Activity)context).getLayoutInflater().inflate(R.layout.vehicle_select_layout,null);
TextView postionTextView=(TextView) view.findViewById(R.id.positionid);
Display display =((Activity)context).getWindowManager().getDefaultDisplay(); 
// 為獲取螢幕寬、高 Window window = ((Activity)context).getWindow(); ViewGroup.LayoutParams windowLayoutParams = window.getAttributes(); // 獲取對話方塊當前的引數值 windowLayoutParams.width = (int) (display.getWidth() * 0.7); // 寬度設定為螢幕的0.95 windowLayoutParams.height = (int) (display.getHeight() * 0.6); // 高度設定為螢幕的0.6 LinearLayout.LayoutParams p = new
LinearLayout.LayoutParams( windowLayoutParams.width, LinearLayout.LayoutParams.WRAP_CONTENT ); postionTextView.setLayoutParams(p); //用程式碼動態的控制佈局。

我可以獲取到螢幕的寬高,進而能夠根據比例去控制子控制元件的寬和高。這樣真的是非常爽的。

下面給出個獲取actionbar高度的方法,親測可用

TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize
, tv, true)) { int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,context.getResources().getDisplayMetrics()); } else { }