Android常用控件三之按钮、选择框

来源:互联网 发布:worktile类似软件 编辑:程序博客网 时间:2024/06/07 00:56

一、按钮控件

1、Button  按钮

android:text 设置按钮上的文字,ImageButton不能有文字

android:background  设置按钮的背景颜色

<Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="登录"        android:background="@color/colorPrimaryDark"        />



2、ImageButton 图片按钮

android:src  设置背景图片

android:adjustViewBounds  调整边框以适应图片大小

android:padding  设置图片的填充

<ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"         android:src="@drawable/icon_user"        android:adjustViewBounds="true"        android:padding="20dp"    />

3、事件处理

3.1、xml配置:

android:onclick="show"

在相对应的Activity中必须要有一个方法叫做show,而且该方法必须带一个View类的参数,代码如下:

public void show(View v){}

3.2、给按钮添加一个监听器,可以使用内部类,也可以使用外部类,代码如下:

btn.setOnClickListener(new View.OnClickListener(){public void onClick(View v){...}});

注意:如果同时使用,xml配置中的方式无效


二、选择框

1、RadioButton  单选框

RadioButton必须放到RadioGroup中,RadioGroup的android:orientation属性指定按钮的排列方向,必须指定id,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_test_sex"        >        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="男"            android:id="@+id/rb_test_boy"            />        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="女"            android:id="@+id/rb_test_girl"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="获取值"            android:onClick="getValue"            android:id="@+id/bt_test_ok"            />    </RadioGroup></LinearLayout> 

package com.zking.laci.android05;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;/** * Created by Laci on 2017/6/5. */public class TestActivity extends AppCompatActivity{    //声明控件    private Button bt;    private RadioGroup rg;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.test);        //通过ID获得控件        bt= (Button) findViewById(R.id.bt_test_ok);        rg= (RadioGroup) findViewById(R.id.rg_test_sex);        //给Button控件设置监听        bt.setOnClickListener(new View.OnClickListener(){            @Override            public void onClick(View v) {                //获取单选组中 被选中单选框的ID                int rid=rg.getCheckedRadioButtonId();                //在根据被选中的单选框的ID获取该单选框                RadioButton rb= (RadioButton) findViewById(rid);               String sex= rb.getText().toString();                //吐司弹框                Toast.makeText(TestActivity.this,""+sex,Toast.LENGTH_LONG).show();            }        });    }}


2、复选框
代码如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent" tools:context="com.zking.laci.android05.MainActivity">    <CheckBox        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="吃饭"        android:id="@+id/cb_main_c1"        />    <CheckBox        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="睡觉"        android:id="@+id/cb_main_c2"        />    <CheckBox        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="打豆豆"        android:id="@+id/cb_main_c3"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="获取值"        android:id="@+id/bt_main_bt1"        /></LinearLayout>

package com.zking.laci.android05;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;import org.w3c.dom.Text;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    //声明组件    private CheckBox cb1,cb2,cb3;    private Button bt;    //声明一个集合    private List<CheckBox> cbs = new ArrayList<>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取组件        cb1= (CheckBox) findViewById(R.id.cb_main_c1);        cb2= (CheckBox) findViewById(R.id.cb_main_c2);        cb3= (CheckBox) findViewById(R.id.cb_main_c3);        bt= (Button) findViewById(R.id.bt_main_bt1);        //将所有的checkbox放到一个集合中        cbs.add(cb1);        cbs.add(cb2);        cbs.add(cb3);        //给按钮设置点击事件        bt.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                StringBuffer sb=new StringBuffer();                //遍历集合中的CheckBox 判断是否选择 获取选中的文本                for (CheckBox checkBox:cbs){                    if(checkBox.isChecked()){                        sb.append(checkBox.getText().toString()+" ");                    }                }                if(sb!=null && "".equals(sb.toString())){                    Toast t=Toast.makeText(MainActivity.this,"至少选一个",Toast.LENGTH_SHORT);                    t.setGravity(Gravity.CENTER,0,0);                    t.show();                }else{                    //1.给吐司弹框设置背景图                    //实例化一个layout                    LinearLayout li=new LinearLayout(MainActivity.this);                    ImageView i=new ImageView(MainActivity.this);                    //设置图片                    i.setImageResource(R.drawable.icon_user);                    //将图片放入layout中                    li.addView(i);                    //设置一个文本控件                    TextView tv=new TextView(MainActivity.this);                    //将选中的值放入文本控件中                    tv.setText(sb.toString());                    //将文本控件放入layout中                    li.addView(tv);                    //实例化一个吐司                    Toast t=new Toast(MainActivity.this);                    //将布局放入吐司中                    t.setView(li);                    //设置居中                    t.setGravity(Gravity.CENTER,0,0);                    //展示                    t.show();                    //跳转                    Intent in=new Intent(MainActivity.this,TimeActivity.class);                    //进行跳转                    startActivity(in);                }            }        });    }





阅读全文
0 0
原创粉丝点击