一、布局文件中控件
TextView----- :focusableInTouchMode="true" 滚动
EditText------ :hint 输入提示的文本 :inputType 输入文本类型 maxLines="2" 指定最大行数
getText() 获取输入的内容-----editText.getText().toString()
AutoCompleteTextView------:动态匹配输入内容,如搜索时输入文本时可以根据内容显示匹配的热门的信息 completionThreshold=“2” 设置输入多少字符时自动匹配
1)初始化控件2)需要一个适配器(下拉时出现)
ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,res);//三个参数
3)初始化数据源---用来匹配文本框输入的内容4)加载适配器
private String[] res={"Beijing1","Beijing2"};acTextView.setAdapter(adapter);
MultiAutoCompleteTextView 支持选择多个值(多次输入的情况下,分别用分隔分开) :completionThreshold=“2”mAcTv.setTokenizer(newMultiAutoCompleteTextView,CommaTokenizer());//设置逗号为分隔符
ToggleButton ------选中和未选中状态,需要设置不同的显示文本 :checked=“true”-------是否被选中(默认false) :textOn="开”------当checked="true"时显示
1)初始化 2)设置监听器 onCheckedChangeListener
3)事件在方法中定义
show_iv.setBackgroundResource(isChecked? R.drawable.on: R.drawbale.off);// 默认为false一被点击为true
CheckBox 复选框-----------:两种状态 选中(true)、未选中(false) :checked=“false”(默认) text=“男”
1)初始化2)设置监听事件,知道是否被选中
3)方法中事件
checkBox.setOnCheckedChangeListener(new OnCCL(){});//匿名内部类
if(isChecked){ String text=checkBox.getText().toString() };//获得文本内容
RadioButton ---------选定不能更改状态(单独使用)
RadioGroup --------多个RadioButton的集合,提供多选一机制 :orientation 分布
1)初始化2)设置监听事件(实现接口)
3)重写方法
implements a.w.RadioGroup.OnCheckedChangedListener ;
public void onCheckedChanged(RadioGroup group,int CheckId) { }//checkId是点击时获得被点击按钮的id
ImageView:src="@drawable/ic_lajncher" 自适应的图片-----------setImageResource()
ProgressBar :visibility=" " visible---可见 invisible---不可见,占用空间 gone-----不可见且不占用空间
setVisibility(View.GONE) getProgress() 获取进度 setProgress()设置进度
二、代码中控制
AlertDialog:
AlertDialog.Builder dialog=new ~(.this);//创建实例
dialog.setTitle(" 标题”);dialog.setMessage("内容");dialog.setCancelable(false);//可否取消(不能通过Back键取消)
确定的点击事件: ~.setPositiveButton("OK",new DialogInterface.OnClickListener(){... }
取消的点击事件:~.setNegativeButton("Cancel", ~);
显示对话框: dialog.show();
ProgressDialog------对话框中显示一个进度条 ,用于表示当前操作比较耗时,让用户耐心地等待
ProgressDialog progressDialog=new ~( .this);
progressDialog.setTitle();.setMessage();.setCancelable(true); .show();
若setCancelable(false)则要做好代码控制,当数据加载完成后要调用ProgressDialog的dismiss()关闭,否则后一直存在
三、布局
RelativeLayout----
:layout_alignParentLeft="true"----子类相对父类,靠左边
:layout_marginLeft="33dp"-------子类距左边的距离
:layout_centerInparent="true"----子类相对父类 水平、垂直居中 :layout_centerHorizontal="true"----- ....水平居中
子类控件中的相对位置 :layout_above="@id/ " 子类相对其他子类控件 :layout_toLeftOf="@id/ "
FrameLayout----帧布局
所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素不分全部覆盖
:foreground 设置前景图,在所有子视图前面 :foregroundGravity 设置前景图的位置:background ....
:keepScreenOn 保持屏幕唤醒
TableLayout----表格布局
:stretchColumns="1" 如果表格不能完全占满屏幕宽度,就将第 2列进行拉伸
<TableRow> </> 添加一列