控件总结android

1.控件在布局MXL中都有样式可以选择。
例如:gravity=“center_vertical”控件里面的内容垂直方向上居中。
Background=”#aa00ff”背景颜色为:每两个数字代表一个颜色:红绿蓝。16进制
paddingLeft=”10dip”内边距:即一个控件中的内容和控件边缘的距离,外边距是控件和父窗口的距离。
Layout_weight=”1”一个组里面控件的关系。1代表50%,如果一个组有2个控件,第一个为2,第二个为3,则第一个占2/5份,那个占3/5份。
singleLine=”true”把控件的所有内容显示在一行里。

TableLayout:
<TableRow>一行,在一行中,每个控件会占一列。
stretchColumns=”1”使用第一列作为拉伸的一列。0开始计数。(在每一行的列的内容不足以填满父窗口的宽度时,拉伸某一列以填满)

android:textStyle = “bold”或者italic。是调节字体的样式的。

2.对话框:
对话框实现方法:
1)创建一个Activity,给予布局和风格,然后显示。
2)用AlertDialog
对于其外观:可用布局然后使用LayoutInflater类;
也可以直接创建,AlerDIalog.Builder很重要,可以动态对对话框控件进行修改。

3.菜单:
菜单实现方法:
1)重写两个函数onCreateOptionsMenu.和onOptionsItemSelected。
对于其外观:可用布局然后使用MenuInflater类;
也可以直接创建,add添加菜单项。

4.相对布局


 
也可以查文档
例子:

 

像第一个textview什么都没设,则默认在父窗口的左上角。

5.Toast的简单用法:
Toast.makeText(m, "female", Toast.LENGTH_SHORT).show();
第一个参数是Context,第二个参数是显示的文本,第三个是显示多长,LONG还是SHORT

6.RadioGroup和RadioButton
响应点击:和前面的稍有不同的是:这里要对RadioGroup设置setOnCheckedChangeListener()函数。该函数的参数为RadioGroup.OnCheckedChangeListener对象


7.有趣的是:CheckBox的监听器叫做: (因为它继承自CompoundButton)
而RadioGroup的监听器的一部分名字跟它相同,但是属于不同的类的,而且参数也不一样。这个要注意区分。
对CheckBox设置监听器的函数也是:setOnCheckedChangeListener()
对checkbox。不但需要说当选择了的处理,还要处理没有被选择的情况,因为可能选了之后,又不选了,(复选框的特点)
如:


 
对于这个onCheckedChanged函数,它的第一个参数就是当前的这个CheckBox的视图,因为CheckBox是CompounButton的子类,第二个参数是选中没有的状态。

8.进度条
水平进度条和默认进度条:

 

进度条的显示:setVisibility(View.VISIBLE);   其实这个常量View.VISIBLE=0.但是我们依然要使用常量方便读代码。
进度条的不可见:setVisibility(View.GONE)
对于条形的进度条,不但可以用setProgress设置长度,还可以用setSecondProgress()设置其次要长度。
进度条的默认值是100.也可以自己设置最大值,在程序中setMax(300)或者在XML中


 
默认的进度条是不会显示进度的。所以对于默认的进度条,让他中途显示与否没有什么意义。
进度条的函数:getMax() 获取最大的进度。

9.ListView的使用方法:
见程序代码和视频。比较复杂。
要点:1.如果使用ListView视图的类要继承ListActivity
		则ListView必须要用android内置id:@id/android:list 也可以写成:@android:id/list
		要获取这个控件:getViewById(android:R.id.list);
		或者在类中直接写:getListView();
		对其设置OnCreateContextMenuListener,则实现这个接口要重载函数
public void onCreateContextMenu(ContextMenu menu, View v,
    				ContextMenuInfo menuInfo) {}
对其中的项进行选择是:
		2.如果直接用Activity的类来写,则可以自己定义ID。


 
	对于它的显示,如果继承自ListActivity。则要用setListAdapter(参数为adapter);
	如果就是Activity,则用ListView控件调用其函数setAdapter(参数为adapter);

10. visibility有三个属性值,visible,invisible和gone.visible指该组件可视,invisible和gone指该组件不可视,两者的区别在于,invisible让该组件的内容不可视,但是组件的大小依然会将空间占用,而gone是彻底从布局空间上隐藏。 

11.对于Spinner的两种实现方法。见入门书第七章。
	(1用ArrayAdapter调用视图的array和默认Spinner样式的方法。
	(2用代码构造数组,下拉和显示视图也是自定义的方法。	

12.DatePickerDialog和DatePicker控件的使用大同小异。
DatePickerDialog的使用全部:
1)在需要显示的地方调用:showDialog(DATE_PICKER_DLG);
2)重写Activity的方法:onCreateDialog.根据ID做动作:
@Override
    protected Dialog onCreateDialog(int id) {
        switch(id) {
        case DATE_PICKER_DLG:
            dateDialog = new DatePickerDialog(this, dateListener, currentdate.get(currentdate.YEAR),
                    currentdate.get(currentdate.MONTH), currentdate.get(currentdate.DATE));
            dateDialog.show();
            break;
        default:
            break;
        }
        return super.onCreateDialog(id);
}
3)设置它的监听器,注意名字和DatePicker控件的不一样:
  private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {
        
        @Override
        public void onDateSet(DatePicker picker, int year, int month, int day) {
            // TODO Auto-generated method stub
            currentdate.set(year, month + 1, day);
            birthdayStr = getTime(currentdate);
            Log.i(TAG, birthdayStr);
            addBirthdayDateBtn.setText(birthdayStr);
        }
    };

DatePicker控件的使用全部:
DatePicker dp = (DatePicker)findViewById(R.id.datepick);
private DatePicker.OnDateChangedListener dateListener = new DatePicker.OnDateChangedListener() {

    @Override
    public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
        // TODO Auto-generated method stub
        
    }
        
        
    };


13.ScrollView的用法:

 
14.关于图片加入到控件和图片的获取上,可以看第七周。

猜你喜欢

转载自yebingzi.iteye.com/blog/2095436