Android 中的 UI Controls

1)Buttons (按钮)

a)Button

按钮

添加onClick监听事件

b)ImageButton

图片按钮

添加onClick监听事件

c)Switch(开关):checked

应用:可以添加onClick监听事件实现相应事件可以用if判断

Switch btn=(Switch)v;//开关

     if(btn.isChecked()){

     Toast.makeText(this,"打开wifi", 1).show();

     }else{

     Toast.makeText(this,"关闭wifi", 1).show();

     }

 

也可以用setOnCheckedChangeListener添加监听

public void onCheckedChanged(CompoundButton buttonView,

     boolean isChecked) {

     Toast.makeText(MainActivity.this,"tBtn.isChecked="+isChecked, 1).show();

     }

方法: isChecked() 判断是否打开开关,

d)CheckBox(复选框):checked(多选框)

应用;可以添加onClick监听事件

textAppearance="?android:attr/textAppearanceMedium"

优先选用系统的属性)textview中的字体属性

if(box.isChecked()){//判定是否是选中的

checked.add(box.getText().toString());

}

e)RadioButton(单选框):RadioGroup(线性布局的子类类型)

应用;可以添加onClick监听事件

public void onClick(View v) {

RadioButton rBtn = (RadioButton)

// 获得选中的Button

findViewById(rGroup.getCheckedRadioButtonId());

Toast.makeText(thisrBtn.getText().toString(), 1).show();

}

RadioGroup(线性布局的子类类型)

中可设置水平或垂直

RadioButton android:drawableTop/Bottom 可设置图片所在的位置上下左右

多个radioButton 可以引用style="@style样式来减少代码量

2)TextFields (文本域)

a)EditText(编辑框)

应用可设置点击事件、和触摸事件

//设定对象可编辑

edit03.setFocusable(true);

edit03.setFocusableInTouchMode(true);

  //设定光标位置

edit03.setSelection(edit03.getText().length());

  <!-- 设定EditText默认有焦点的对象 -->

        <requestFocus />

 android:focusable="false" 设置默认不可编辑

设置更改文本编辑框的格式和背景色

drawable目录下建shape 文件设置属性

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">

    <solid android:color="#ffffffff"/>

    <!-- 通过此属性描边 -->

 <strokeandroid:width="3dp"android:color="#ff669900"/>

    <!-- 通过此属性描设置角度-->

    <corners android:radius="8dp"/>

    <!-- 通过此属性设置内边距 -->

    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>

</shape>

drawable目录下建selector文件设置属性

设置点击前和点击后的不同样式

<selectorxmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:drawable="@drawable/editor_shape_01" android:state_focused="true"></item>

    <item android:drawable="@drawable/editor_shape_02"></item>

</selector>

b)AutoCompleteTextView (自动完成编辑框)

   使用需要构建new ArrayAdapter 适配器来显示提示的的数据。

//设置何时出现提示字符(1表示输入一个字符时,默认是两个字符)

应用方法 ato.setThreshold(1);

c)SearchView(查询框,内置了一个AutoCompleteText) 

 应用监听事件

 setOnQueryTextListener(this)

使用SearchView显示提示信息需在下面添加listview来显示

// 设置searchView的背景

// 获得searchView中的资源id(假如想获得官方布局的Id

// 时,但又不能直接方法,可以采取此方式)

InresId= getResources().getIdentifier("android:id/search_plate"null, getPackageName());

// 根据id找到对应的子元素,并设置背景

LinearLayoutlayout=(LinearLayout)searchView.findViewById(resI)

layout.setBackgroundResource(R.drawable.editor_selector_01)

// 展开searchView

searchView.onActionViewExpanded();

// 添加监听器

searchView.setOnQueryTextListener(this);

}

 

/** 提交查询操作时执行此方法 */

@Override

public boolean onQueryTextSubmit(String query) {

Log.i("TAG""onQueryTextSubmit.query=" + query);

return false;

}

 

/** 文本内容发生变化时自动执行 */

@Override

public boolean onQueryTextChange(String newText) {

Log.i("TAG""onQueryTextChange.newText=" + newText);

 

adapter.getFilter()// 获得过滤器

.filter(newText);// 过滤listview中要显示的内容

return false;

}

 

3)Bars()

 

a)ProgressBar (进度条)

style="?android:attr/progressBarStyleLarge" 设置默认样式

b)SeekBar(拖动条)

Thumbs  设置颜色

 

应用添加事件 seekBar.setOnSeekBarChangeListener(this);

@Override

有变化就会执行

public void onProgressChanged(SeekBar seekBarint progressboolean fromUser) {

Log.i("TAG""onProgressChanged.progress="+progress);

}

@Override

点击时执行

public void onStartTrackingTouch(SeekBar seekBar) {

   Log.i("TAG""onStartTrackingTouch.progress="+seekBar.getProgress());

}

@Override

抬起时执行

public void onStopTrackingTouch(SeekBar seekBar) {

Log.i("TAG""onStopTrackingTouch.progress="+seekBar.getProgress());

}

设置点击抬起时的不同样式

<selectorxmlns:android="http://schemas.android.com/apk/res/android" >

   <item android:drawable="@drawable/seekbar_shape_02" android:state_pressed="true"/>

 <item android:drawable="@drawable/seekbar_shape_01"/>

</selector>

<shapexmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">设置为圆形样式

 <solid  android:color="#88669900"/>

<stroke android:width="2dp" android:color="#ffff0000"/>

   <size android:width="8dp" android:height="10dp"/>

</shape>

 

c)RatingBar(评价条)

应用点击事件  rBar.setOnRatingBarChangeListener(this)

<!-- 评价条 -->

<RatingBar

 android:numStars="6"   有几个

android:stepSize="0.5"/>  每次点击增加多少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值