文本显示控件,继承自view
tv.setSingleLine(true);
tv.setEllipsize(TruncateAt.MARQUEE);
tv.setFocusable(true);
tv.setFocusableInTouchMode(true);
tv.setMarqueeRepeatLimit(-1);//-1表示无限重复
(3)其他属性:
android:gravity=”“—文本相对控件的位置
android:layout_gravity=”“—控件相对于其所在容器的位置
android:drawable+四个方向 — 在文本控件中添加图片
android:drawablepadding — 图片与文本的间隔
android:autolink=”“—当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/all)
代码中添加图片:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
tv.setCompoundDrawables(drawable, null, null, null);
按钮控件,继承自TextView,默认可点击
输入编辑控件,继承自TextView
private void setEditFocus(EditText editText){
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
}
图片显示控件,继承自View
src属性定义具体的图片。background属性可以定义图片,也可以定义颜色资源或drawable文件夹下selector的资源,当src和background同时定义时,src会覆盖background
scaleType属性控制图片如何来匹配ImageView 的size:
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片能够填充满view的最长方向
FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示,填满整个控件
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示,默认值
MATRIX / matrix 用矩阵来绘制 默认是放在ImageView的左上角
CETNTER_INSIDE/centerinside 按比例缩小图片的size,剧中显示,完全显示图片
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
复选框 ,继承自CompoundButton
属性:
button 设置复选框的显示图片
checked 设置该复选框默认是否被选中
cb1.isChecked() 代码中检测是否选中该选项
OnCheckedChangedListener监听
单选按钮,需要配合RadioGroup一起使用。一个RaidoGroup内的RadioButton在同时,最多只能有一个被选中。而且RadioButton要加ID属性
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// int id = checkedId;//选中的控件id
int id = group.getCheckedRadioButtonId();//获取组内控件id
RadioButton rb = (RadioButton) group.findViewById(id);
// Toast.makeText(MainActivity.this, rb.getText().toString(),
// Toast.LENGTH_SHORT).show();
if (checkedId == R.id.rb1) {
Toast.makeText(MainActivity.this, "--"+rb.getText().toString(),
Toast.LENGTH_SHORT).show();
} else if(checkedId == R.id.rb2){
Toast.makeText(MainActivity.this, "--"+rb.getText().toString(),
Toast.LENGTH_SHORT).show();
}
}
});
如果要设置每次点击都能响应事件,则需要对RadionButton进行click事件监听:
RadioButton rb1 = (RadioButton) findViewById(R.id.rb1);
RadioButton rb2 = (RadioButton) findViewById(R.id.rb2);
OnClickListener myOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
RadioButton rb = (RadioButton) v;
Toast.makeText(MainActivity.this, "click-->"+rb.getText().toString(),
Toast.LENGTH_SHORT).show();
}
};
rb1.setOnClickListener(myOnClickListener);
rb2.setOnClickListener(myOnClickListener);