TextView
控件中显示的内容必须是文本
TextView中常用的属性
android:text TextView中显示的文本内容
android:textColor 字体颜色 格式为#RGB #ARGB #RRGGBB #AARRGGBB
android:textSize 字体大小(单位:sp)
android:alpha 透明度(值范围: 0完全透明~1.0完全显示)
控制设置id属性,在Java代码中通过findViewById()找出对应的控件,再修改属性
----------------------------------------
Toast
// 屌丝的代码
// 1. 创建Toast对象
Toast toast = Toast.makeText(
MainActivity.this, // Context上下文。
// Context是Activity的基类
// 当需要传递Context作为参数时,传递一个Activity对象就可以了
// 实际传递MainActivity.this
"按钮被点击了", // Toast中显示的内容
Toast.LENGTH_LONG); // Toast显示时长 Toast.LENGTH_SHORT表示较短;
// Toast.LENGTH_LONG表示较长
// 2. 显示该Toast
toast.show();
// 大神的代码
Toast.makeText(MainActivity.this, "按钮被点击了", Toast.LENGTH_LONG).show();
---------------------------------------------------
Button
给按钮添加点击方法
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 当用户点击按钮时调用该方法
Log.i("MainActivity", "btn_click");
}
});
-----------------------------------------------------------------
RadioButton单选框
通过RadioGroup进行分组 一组中多个RadioButton只能选一个
android:orientation只能RadioGroup中RadioButton的排列方向
vertical垂直(默认)
horizontal 水平
RadioButton中android:checked="true"表示默认选中
找出RadioGroup中选中的RadioButton有如下方法:
1. 使用RadioGroup的getCheckedRadioButtonId()找出选中的RadioButton的ID
int id = group_sex.getCheckedRadioButtonId();
RadioButton button = (RadioButton) findViewById(id);
String str_sex = button.getText().toString();
2. 遍历RadioGroup下的所有RadioButton 找出选中的项
String str_grade = "";
for(int i = 0; i < group_grade.getChildCount(); i++) {
RadioButton radioButton = (RadioButton) group_grade.getChildAt(i);
if(radioButton.isChecked()) {
str_grade = radioButton.getText().toString();
break;
}
}
----------------------------------
CheckBox复选框
复选框不需要分组
android:checked="true"表示默认选中
----------------------------------
EditText 编辑框
EditText的常用属性
android:hint 当编辑框内容为空时的提示
android:inputType 限制输入的内容
textCapCharacters 全部为大写字母
textCapWords 每个单词的首字母为大写
textCapSentences 每个句子的首字母为大写
textPassword 密码
number 数字
android:digits 限制输入的字符
给EditText添加<requestFocus />标签可获得输入焦点
----------------------------------
ImageView 图片
android:src 图片源
android:scaleType 缩放类型
center: 取图片中间部分
fitCenter: 放大缩小到合适的大小
android:adjustViewBounds 自动调整视图的边界到合适的值
----------------------------------
ImageButton 图片按钮
按钮中的内容是一张图片
同样需要通过android:onClick设置点击事件
注意:Button与ImageButton没有直接的继承关系
----------------------------------
ProgressBar 进度条
分为圆型进度条、水平进度条
圆型进度条又分为小、中、大三种
style 指定进度条的类型,有如下值:
"@android:style/Widget.ProgressBar.Small" 小圆型进度条
"@android:style/Widget.ProgressBar" 中圆型进度条
"@android:style/Widget.ProgressBar.Large" 大圆型进度条
"@android:style/Widget.ProgressBar.Horizontal" 水平进度条
----------------------------------
SeekBar 拖动条
可拖动的进度条。通过
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
});
可捕获如下事件:
onStartTrackingTouch() 开始拖动时调用
onProgressChanged() 拖动进行时调用
onStopTrackingTouch() 停止拖动时调用
----------------------------------
RatingBar 评分条
通过
ratingbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
});
设置点击事件,并捕获:
onRatingChanged() 点击评分值时调用
----------------------------------
ListView 列表视图
该控件中可以放置0到多个内容
通过android:entries指定字符串数组,可静态设置listview显示的内容
需要通过adapter适配器改变listview显示的内容
-----------------------------------
Spinner 下拉列表
AutoCompleTextView 自动补全
-----------------------------------
adapter 适配器
一般有如下常用的adapter
ArrayAdapter 一行只显示一个TextView
SimpleAdapter 一行可以显示多个控件
ArrayAdapter使用方法如下:
SimpleAdapter使用方法如下:
adapter = new SimpleAdapter(
MainActivity.this,// 第一个参数:上下文
getData(), // 第二个参数:List<Map<String, Object>>类型的数据
// 第三个参数:每行的布局
//R.layout.item, // 可以使用自定义的布局
android.R.layout.simple_list_item_2, // 也可以使用系统定义的布局(一行显示两个TextView)
new String[]{"name", "age"}, // 第四个参数:字符串数组。Map中的key名称
// 第五个参数:布局中每个控件的id
//new int[]{R.id.text_name, R.id.text_age} // 自定义布局中控件的id
new int[]{android.R.id.text1, android.R.id.text2}// 系统布局中控件的id
);