Android 学习札记一些小知识点(2012.9.21更新)

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);