一、RadioButton(单选框)
1、RadioButton:必须要放到RadioGroup中(RadioGroup中的android:orientation属性指定按钮的排列方式)
2、必须指定id
3、android:checked 是否选中
实例:
代码:
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rg_main_sex"
>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:id="@+id/rb_main_boy"
android:checked="true"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:id="@+id/rb_main_girl"
/>
</RadioGroup>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
android:onClick="sel"
/>
</LinearLayout>
Java代码
package com.example.myapplication; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; /** * Created by Administrator on 2017/6/11 0011. */ public class RadioActivity extends AppCompatActivity { private RadioGroup rg_main_sex; private RadioButton rb_main_boy; private RadioButton rb_main_girl; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.radiogroup); rg_main_sex = (RadioGroup) findViewById(R.id.rg_main_sex); } public void sel(View view){ //获取单选组中 被选中的单选框的ID int checkedId=rg_main_sex.getCheckedRadioButtonId(); //再根据被选中的单选框的ID 获取 该单选框 RadioButton radioButton= (RadioButton) findViewById(checkedId); String sex=radioButton.getText().toString(); Toast.makeText(RadioActivity.this, ""+sex, Toast.LENGTH_LONG).show(); } }
二、CheckBox(复选框)
实例:
代码:
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="水果"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="苹果"
android:id="@+id/checkbox1"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="香蕉"
android:id="@+id/checkbox2"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="梨子"
android:id="@+id/checkbox3"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="西瓜"
android:id="@+id/checkbox4"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
android:onClick="sel"/>
</LinearLayout>
Java代码
package com.example.myapplication;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by Administrator on 2017/6/4 0004.
*/
public class LoginActivity extends AppCompatActivity{
CheckBox checkBox1;
CheckBox checkBox2;
CheckBox checkBox3;
CheckBox checkBox4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// 通过id获取多选框
checkBox1= (CheckBox) findViewById(R.id.checkbox1);
checkBox2= (CheckBox) findViewById(R.id.checkbox2);
checkBox3= (CheckBox) findViewById(R.id.checkbox3);
checkBox4= (CheckBox) findViewById(R.id.checkbox4);
}
public void sel(View view){
String str="";
//获取选择的多选框
if(checkBox1.isChecked()){
str+=checkBox1.getText();
}if(checkBox2.isChecked()){
str+=checkBox2.getText();
} if(checkBox3.isChecked()){
str+=checkBox3.getText();
} if(checkBox4.isChecked()){
str+=checkBox4.getText();
}
Toast toast=Toast.makeText(LoginActivity.this,"你选择了"+str,Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP,0,220);//设置Toast框位置
//布局文件
LinearLayout linearLayout=new LinearLayout(this);
//设置图片
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.drawable.icon_user);
//文字内容
TextView textView=new TextView(this);
textView.setText(str);
linearLayout.addView(textView);
linearLayout.addView(imageView);
toast.setView(linearLayout);
toast.show();
str="";
Intent intent=new Intent(LoginActivity.this,DataActicity.class);
startActivity(intent);
}
}
三、ToggleButton(开关状态按钮)
android:checked 设置开关的状态
实例:
代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/iv_toggle_old"
android:src="@drawable/s1"
android:layout_gravity="center_horizontal"/>
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textOn="关闭"
android:textOff="开启"
/>
</LinearLayout>