Android 學習筆記一些小知識點(2012.9.21更新)

———— 獲取屏幕高寬————
// 獲取狀態欄高度
Rect frames = new Rect();
MainTwoActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(frames);
int statusBarHeights = frames.top;
//獲取標題欄高度
int  titleHeights  = frames.height() – View.getheight();
//獲得屏幕高寬
int heights = MainTwoActivity.this.getWindowManager().getDefaultDisplay().getHeight();
int widths =
MainTwoActivity.this.getWindowManager().getDefaultDisplay().getWidth();

———— 關於inflate的使用————
View view=View.inflate(this,R.layout.dialog_layout,null);
TextViewdialog TV=(TextView)view.findViewById(R.id.dialog_tv);

———— 後臺動態生成控件————
第一是容器,創建一個容器(這裡用LinearLayout舉例);

LinearLayout lLayout = new LinearLayout(this);(這裡的this是一個Context變量);

第二是容器的細節,也就是屬性部分;比如,容器裡的控件是怎樣排的;

lLayout.setOrientation(LinearLayout.VERTICAL);

第三是容器裡的控件,創建自己想要的控件;比如,

EditText editText = new EditText(this);

Button button = new Button(this);//這裡的this都是一個Context變量;

第四是容器的細節,就是設置容器的屬性;

editText.setLines(3);
editText.setGravity(Gravity.TOP|Gravity.LEFT);

button.setText("插入隨機表情");

第五是將控件加入到容器當中去;

LinearLayout.LayoutParams lParams = new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);

//這個屬性是設置空間的長寬,其實還可以設置其他的控件的其他屬性;

lLayout.addView(editText, lParams);

lLayout.addView(button, lParams);

第六是將容器將加入ContentView中;

setContentView(lLayout);

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *