这两天继续学习Android,前面我大致的了解一下layout的元素,当时说应该提倡layout文件设计布局样式,经过这两天一些资料的学习和自己写的代码,觉得如何开发应用,在java代码中描绘样式也是一种可取的办法,主要是他有很灵活的方式。
先贴一段刚刚出炉的代码吧,后面再细细分析:
public class study extends Activity {
OnClickListener listener = new OnClickListener(){
public void onClick(View v){ setTitle(”this despise face.”);}
};
OnClickListener listener2 = new OnClickListener(){
public void onClick(View v){ setTitle(”this is surprise face.”);}
};
OnClickListener listener3 = new OnClickListener(){
public void onClick(View v){ finish();}
};
/** Called when the activity is first created. */
private final int L = LinearLayout.LayoutParams.WRAP_CONTENT;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
//定义这个布局中元素采用的纵向布局
layout.setOrientation(LinearLayout.VERTICAL);
ImageButton ibt1 = new ImageButton(this);
//引用了drawable的名为despise的文件图片
Drawable dr = this.getResources().getDrawable(R.drawable.despise);
ibt1.setBackgroundDrawable(dr);
//设置样式参数组
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(L,L);
//绑定一个点击时间
ibt1.setOnClickListener(listener);
//元素与布局框架的绑定
layout.addView(ibt1, params);
ImageButton ibt2 = new ImageButton(this);
dr = this.getResources().getDrawable(R.drawable.surprise);
ibt2.setBackgroundDrawable(dr);
ibt2.setOnClickListener(listener2);
//设置离左离上的位置,默认单位是像数
params.leftMargin = 10;
params.topMargin = 10;
layout.addView(ibt2, params);
LinearLayout layout2 = new LinearLayout(this);
layout2.setOrientation(LinearLayout.HORIZONTAL);
Button ibt3 = new Button(this);
dr = this.getResources().getDrawable(R.drawable.happy);
ibt3.setBackgroundDrawable(dr);
ibt3.setOnClickListener(listener3);
ibt3.setText(”Canale”);
//将第一个布局框架作为一个元素单元与第二个第一的框架绑定
layout2.addView(layout, params);
LinearLayout.LayoutParams params3 = new LinearLayout.LayoutParams(L,L);
params3.leftMargin = 10;
params3.topMargin = 30;
layout2.addView(ibt3, params3);
//将第二个布局框架显示出来
setContentView(layout2);
}
}
这是一个简单的布局,但是其中使用到了几个常用的方法,是这篇记录的主题:
1、先定义了一个(LinearLayout )params布局框架,这个框架的特点在前面提过,使用左右上下布局时,很容易操作。将两个ImageButton元素放置其中,并设置为上下结构。然后再次定义一个(LinearLayout) params2,将第一个布局框架作为一个整体元素再加上一个Button元素横向布局放入其中;
2、元素属性的设置,这里对ImageButton这个对象设置了图片,以及点击时间,对Button对象设置了图片和文字。
1)、静态资源的引用,这里使用了一个语法(R.drawable.despise)指的是drawable目录下的despise对应的对象。在Android默认目录SRC中有一个名为R.java的文件,打开这个文件:
drawable和layout下的每一个文件都对应了一常量,而values下的文件内每一个值也对应了文件内的一个常量。R.drawable.despise就是代表了要通过这个文件指向drawable下的despise值,而这个值被最终转换成了实际文件的引用。同理,如果要使用样式可以直接R.layout.main。
2)、事件的绑定。我这里对图片设置了setOnClickListener(listener);事件,因为Android框架采用了大量的Ioc设计思想,对于绑定事件必需去实现所要求的方法,所以
new onClickListener(){ public void onClick(View v)(…);};


1045

被折叠的 条评论
为什么被折叠?



