1.TextView

android:layout_id="@+id/tv"(可以在其他地方通过R.id.tv来找到该控件)

android:layout_width="matchparent"(设置控件的宽度,matchparent表示铺满父容器的宽度)

android:layout_height="wrapcontent"(设置控件的高度,wrapcontent表示包裹控件的高度)

android:text="一起来学习TextView吧"(设置显示内容)

android:textColor="#000000"(设置文字的颜色)

android:textSize="23sp(设置文字字体大小)

android:textStyle="bold|italc|normal"(bold:粗体;italc:斜体;normal:正常)

tools:text="一起来学习TextView吧"(预览时可以显示,在实际运行中是看不到的,起到一个预览的效果)

2.EditText

用法和TextView基本一致

android:hint=""(指输入提示文本内容)

android:textColorHint="#000000"(指输入提示文本内容字体颜色)

android:inputType="textPassword"(指输入文本的类型)

3.ImageView

用法和TextView基本一致

只是要了解android:src和android:background的不同

android:src(指要被显示的图片,图片多大就显示多大)

android:background"(指控件的背景,可以是颜色和图片,图片的话会铺满全屏)

4.Button

style="@style/btnStyle"(设置自定义的style)

android:background=""(设置按钮的背景颜色和背景图片)

贴出btnStyle的代码

//写在style.xml文件中

@drawable/btn_shape (在drawable目录下创建)

5.ImageButton

android:alpha="0.5" (设置背景的透明度, 范围0-1,0表示完全透明,1表示不透明。也可以用在ImageView来设置图片的透明度)

ImageView和ImageButton的区别

1.ImageView继承Textview 支持setText,不支持setImageUrl

2.ImageButton继承ImageButton 不支持setText,支持setImageUrl,还可以支持.9png

3.imageview加上可以点击的属性和button没什么区别,但是ImageButton显示不出圆角头像。imageButton具有默认的背景

6.RadioButton

RadioButton是圆形单选框

RadioGroup中可以有多个RadioButton,有且只有一个可以被选中

没有RadioGroup时,RadioButton都可以选中

RadioGroup相关属性

//获取选中按钮的id

int checkedRadioButtonId = mSexRg.getCheckedRadioButtonId();

//清除当前选中按钮的状态

mSexRg.clearCheck();

//传入参数设置该选项为选中状态,传入-1作为指定的选择标识符来清除单选按钮的状态相当于clearCheck的作用

mSexRg.check( int id);

//获取单选框的值

mBoyRb.getText();

//child 添加的子视图

//index 添加子视图的位置

//params 添加子视图的布局参数

mSexRg.addView (View child, int index, ViewGroup.LayoutParams params);

XML文件

MainActivity

public class MainActivity extends AppCompatActivity {

private RadioButton mBoyRb;

private RadioButton mGirlRb;

private RadioGroup mSexRg;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

initListener();

}

private void initView() {

mBoyRb = (RadioButton) findViewById(R.id.boyRb);

mGirlRb = (RadioButton) findViewById(R.id.girlRb);

mSexRg = (RadioGroup) findViewById(R.id.sexRg);

}

private void initListener() {

mSexRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(RadioGroup radioGroup, int i) {

switch (i) {

case R.id.boyRb:

Log.i("tag", "选中了" + mBoyRb.getText().toString());

break;

case R.id.girlRb:

Log.i("tag", "选中了" + mGirlRb.getText().toString());

break;

}

}

});

}

}

7.CheckBox

XML文件

MainActivity

public class MainActivity extends AppCompatActivity {

private CheckBox mFirstCb;

private CheckBox mSendCb;

private CheckBox mThirdCb;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

initListener();

}

private void initView() {

mFirstCb = (CheckBox) findViewById(R.id.firstCb);

mSendCb = (CheckBox) findViewById(R.id.sendCb);

mThirdCb = (CheckBox) findViewById(R.id.thirdCb);

}

private void initListener() {

MyOnCheckedChangeListener myOnCheckedChangeListener = new MyOnCheckedChangeListener();

mFirstCb.setOnCheckedChangeListener(myOnCheckedChangeListener);

mSendCb.setOnCheckedChangeListener(myOnCheckedChangeListener);

mThirdCb.setOnCheckedChangeListener(myOnCheckedChangeListener);

}

class MyOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener {

@Override

public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

//选中状态改变时触发

CheckBox checkBox = (CheckBox) compoundButton;

switch (checkBox.getId()) {

case R.id.firstCb:

Toast.makeText(MainActivity.this, "我每天都要" + mFirstCb.getText().toString(), Toast.LENGTH_SHORT).show();

break;

case R.id.sendCb:

Toast.makeText(MainActivity.this, "我每天都要" + mSendCb.getText().toString(), Toast.LENGTH_SHORT).show();

break;

case R.id.thirdCb:

Toast.makeText(MainActivity.this, "我每天都要" + mThirdCb.getText().toString(), Toast.LENGTH_SHORT).show();

break;

}

}

}

}

8. AutoCompleteTextView

废话少说,直接上代码

XML

其中android:completionThreshold是表示输入输入第几个字开始提示内容

MainActivity

public class MainActivity extends AppCompatActivity {

/**

* 请输入搜索的内容

*/

private AutoCompleteTextView mAutoCompleteTextView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);

Listlist = new ArrayList<>();

list.add("你好啊");

list.add("北京市");

list.add("北京市朝阳区");

list.add("北京市顺义区");

list.add("北京市海淀区");

ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);

mAutoCompleteTextView.setAdapter(arrayAdapter);

mAutoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> adapterView, View view, int i, long l) {

String s = list.get(i + 1);

Log.e("tag", "s==" + s);

}

});

}

}

通过mAutoCompleteTextView.setOnItemClickListener方法来获取选中项的值

最终效果图

8. MutiAutoCompleteTextView

第一次提示后,会在后面添加分隔符(默认是逗号,并加空格),然后就可以继续提示信息

使用方法和AutoCompletedTextView基本一致

XML

MainActivity

public class MainActivity extends AppCompatActivity {

private MultiAutoCompleteTextView mMultiautoCompleteText;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mMultiautoCompleteText = (MultiAutoCompleteTextView) findViewById(R.id.multiautoCompleteText);

final Listlist = new ArrayList<>();

list.add("你好啊");

list.add("北京市");

list.add("北京市朝阳区");

list.add("北京市顺义区");

list.add("北京市海淀区");

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);

mMultiautoCompleteText.setAdapter(adapter);

//设置分割器

mMultiautoCompleteText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

}

}