精华内容
下载资源
问答
  • Android开发 ---基本UI组件2 ... 定义一个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro...

    Android开发 ---基本UI组件2

     

    1、activity_main.xml 

      描述:

        定义一个按钮

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/activity_main"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button"
            android:onClick="test_2"/>
    </LinearLayout>

    2、MainActivity.java

      描述:

        页面跳转

    package com.example.android_ui;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }public void test_2(View view){
            Intent intent=new Intent(this,ButtonActivity.class);
            startActivity(intent);
        }
    }

    3、activity_button.xml

     

       timg.jpg

     

      描述:

        1、定义一个图像按钮

           android:src="@drawable/timg"  引用资源文件中的名为timg.jpg的图像

           scaleType=“matrix”            保持原图大小、从左上角的点开始,以矩阵形式绘图。

           scaleType=“fitXY”              将原图进行横方向(即XY方向)的拉伸后绘制的。

           scaleType=“fitStart”           将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。

           scaleType=“fitCenter”        将原图沿上方居中的点(即matrix方式绘图第一行的居中的点),按比例缩放原图绘制而成的。

           scaleType=“fitEnd”            将原图沿下方居中的点(即matrix方式绘图最后一行的居中的点),按比例缩放原图绘制而成的。

           scaleType=“Center”          保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像。

           scaleType=“centerCrop”   不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以填满
    ImagView为目标,对原图进行裁剪)。

           scaleType=“centerInside”  不保持原图大小,以原图的几何中心点和ImagView的几何中心点为基准,只绘制ImagView大小的图像(以显示
    完整图片为目标,对原图进行缩放)。

        2、定义一组单选按钮

           RadioGroup组件和RadioButton组件进行结合设置单选按钮

           android:checked="true" 表示默认选中

        3、定义一组多选按钮

           CheckBox组件用来设置多选按钮

        4、定义一个开关

           ToggleButton组件用来设置开关按钮

           android:checked="true" 默认为开

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:id="@+id/activity_button"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ImageButton
            android:scaleType="fitXY"
            android:background="@android:color/transparent"
            android:src="@drawable/timg"
            android:onClick="test_click"
            android:layout_width="80dp"
            android:layout_height="80dp" />
    
        <RadioGroup
            android:id="@+id/usexGroup"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <RadioButton
                android:id="@+id/usex1"
                android:text="男"
                android:checked="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <RadioButton
                android:id="@+id/usex2"
                android:text="女"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </RadioGroup>
    
        <TextView
            android:text="用户爱好:"
            android:textSize="30sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <CheckBox
                android:id="@+id/ck_1"
                android:text="体育"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/ck_2"
                android:text="娱乐"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <CheckBox
                android:id="@+id/ck_3"
                android:text="睡觉"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <TextView
            android:text="缓存图像"
            android:textSize="30sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <ToggleButton
            android:checked="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    4、ButtonActivity.java

      描述:

        监听按钮选择改变事件

    package com.example.android_ui;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.Toast;
    
    public class ButtonActivity extends Activity{
      //获取多选按钮组件
        private CheckBox ck1,ck2,ck3;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_button);
    
            ck1=(CheckBox)findViewById(R.id.ck_1);
            ck2=(CheckBox)findViewById(R.id.ck_2);
            ck3=(CheckBox)findViewById(R.id.ck_3);
         //给每个多选按钮设置选择改变监听事件,即当该多选按钮被选中了就会被监听到
         //onCheckedChange()方法在下面定义了,即将多选按钮传入到onCheckedChange()方法中,再将这个方法又传给setOnCheckedChangeListener()方法中 ck1.setOnCheckedChangeListener(onCheckedChange(ck1)); ck2.setOnCheckedChangeListener(onCheckedChange(ck2)); ck3.setOnCheckedChangeListener(onCheckedChange(ck3)); }   //定义一个点击图片按钮的事件方法,当点击图片按钮时,弹出Hello
    public void test_click(View view){ Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show(); }   //CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener
      //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
      //OnCheckedChangeListener是CompoundButton类中定义的一个抽象接口,接口中定义了一个onCheckedChange()方法,这个方法中需要传入一个参数
    public CompoundButton.OnCheckedChangeListener onCheckedChange(final View view){
         //实例化这个接口,并重写onCheckedChanged()方法
    return new CompoundButton.OnCheckedChangeListener() { @Override
           //CompoundButton是一个状态切换控件,它只有两种状态,一种是被选中,一种是未被选中
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
              //将上面传入进来的view强转成多选按钮,并实例化一个多选按钮 CheckBox cb
    =(CheckBox)view;
              //判断传入进来的这个按钮是否被选中
    if(cb.isChecked()) {
                //判断ck1按钮的id是否和多选按钮中的一个id相等,如果相等则将这个相等的按钮的文本内容弹出来
    if (view.getId() == ck1.getId()) {
                  //如果条件成立,则获取被选中按钮的文本内容,并转化为字符串弹出来 Toast.makeText(ButtonActivity.
    this, ck1.getText().toString(), Toast.LENGTH_LONG).show(); } if (view.getId() == ck2.getId()) { Toast.makeText(ButtonActivity.this, ck2.getText().toString(), Toast.LENGTH_LONG).show(); } if (view.getId() == ck3.getId()) { Toast.makeText(ButtonActivity.this, ck3.getText().toString(), Toast.LENGTH_LONG).show(); } } } }; } }

     

    转载于:https://www.cnblogs.com/zn615/p/8195970.html

    展开全文
  • 下面写个例子来看看如何监听单选按钮,效果如下: 点击前: 点击后: 下面给出程序源文件: main.xml: <LinearLayout xmlns:android=...

    在平常使用软件的时候,我们经常会碰见一些选择题,例如选择性别的时候,在男和女之间选,前面说过这个情况要用RadioGroup组件,那么点击了之后我们该怎么获取到选择的那个值呢,这就是今天要说的OnCheckedChangeListener方法。这个方法定义如下:

    public static interface RadioGroup.OnCheckedChangeListener{
    	    public void onCheckedChanged(RadioGroup group, int checkedId){
    	    	
    	    }
    	}

    下面写个例子来看看如何监听单选按钮,效果如下:

    点击前:



    点击后:



    下面给出程序源文件:

    main.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <TextView 
            android:id="@+id/title"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="请选择您的性别...."/>
    	<RadioGroup 
    	    android:id="@+id/sex"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	    android:orientation="vertical"
    	    android:checkedButton="@+id/male">
    	    <RadioButton 
    	        android:id="@+id/male"
    	        android:text="男"/>
    	    <RadioButton 
    	        android:id="@+id/female"
    	        android:text="女"/>
    	</RadioGroup>
    	<TextView 
    	    android:id="@+id/showSex"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	    android:text="您的性别是:"/>
    </LinearLayout>

    MainActivity.java:

    package com.example.oncheckedchangedlistenerdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
    	private TextView showSex = null;
    	private RadioGroup sex = null;
    	private RadioButton male = null;
    	private RadioButton female = null;
    	private String head = "";
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		initView();
    	}
    	
    	private void initView(){
    		//初始化组件
    		showSex = (TextView)super.findViewById(R.id.showSex);
    		sex = (RadioGroup)super.findViewById(R.id.sex);
    		male = (RadioButton)super.findViewById(R.id.male);
    		female = (RadioButton)super.findViewById(R.id.female);
    		//获取显示前缀(即您的性别是:),以便显示美观
    		head = showSex.getText().toString();
    		//未调用监听时显示默认选择内容
    		if(male.getId() == sex.getCheckedRadioButtonId()){
    			showSex.setText(head+male.getText().toString());
    		}else if(female.getId() == sex.getCheckedRadioButtonId()){
    			showSex.setText(head+female.getText().toString());
    		}
    		//为RadioGroup设置监听事件
    		sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(RadioGroup group, int checkedId) {
    				// TODO Auto-generated method stub
    				String sexTmp = "";
    				if(checkedId == male.getId()){
    					sexTmp = male.getText().toString();
    				}else if(checkedId == female.getId()){
    					sexTmp = female.getText().toString();
    				}
    				showSex.setText(head+sexTmp);
    			}
    		});
    	}
    }
    
    

    今天就到这里了。



    展开全文
  • Android studio 单选按钮监听事件

    千次阅读 2019-11-20 10:37:31
    nRg2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { RadioButton radioButton = radioGroup....
    nRg2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int i) {
            RadioButton radioButton = radioGroup.findViewById(i);
            WarehouseType=radioButton.getText().toString();
            Toast.makeText(DiaoBoActivity.this,radioButton.getText(),Toast.LENGTH_SHORT).show();
        }
    });
    展开全文
  • 单选按钮RadioButton在Android平台上也应用的非常多,比如一些选择项的时候,会用到单选按钮,实现单选按钮由两部分组成,也就是RadioButton和RadioGroup配合使用 RadioButton的单选按钮; RadioGroup是单选组合框...

    单选按钮RadioButton在Android平台上也应用的非常多,比如一些选择项的时候,会用到单选按钮,实现单选按钮由两部分组成,也就是RadioButton和RadioGroup配合使用

    RadioButton的单选按钮;

    RadioGroup是单选组合框,用于将RadioButton框起来;

    在没有RadioGroup的情况下,RadioButton可以全部都选中;

    当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个;

     

    注意:单选按钮的事件监听用setOnCheckedChangeListener来对单选按钮进行监听

    例子:

    一道选择题,选择哪个城市美女最多,当然,这个就是为了测试

    RadioTest.java

     

    Java代码   收藏代码
    1. package org.loulijun.radio;  
    2.   
    3. import android.app.Activity;  
    4. import android.os.Bundle;  
    5. import android.view.Gravity;  
    6. import android.widget.RadioButton;  
    7. import android.widget.RadioGroup;  
    8. import android.widget.TextView;  
    9. import android.widget.Toast;  
    10.   
    11. public class RadioTest extends Activity  
    12.       
    13.     TextView textview;  
    14.     RadioGroup radiogroup;  
    15.     RadioButton radio1,radio2,radio3,radio4;  
    16.     @Override  
    17.     public void onCreate(Bundle savedInstanceState)  
    18.         super.onCreate(savedInstanceState);  
    19.         setContentView(R.layout.main);  
    20.         textview=(TextView)findViewById(R.id.textview1);  
    21.         radiogroup=(RadioGroup)findViewById(R.id.radiogroup1);  
    22.         radio1=(RadioButton)findViewById(R.id.radiobutton1);  
    23.         radio2=(RadioButton)findViewById(R.id.radiobutton2);  
    24.         radio3=(RadioButton)findViewById(R.id.radiobutton3);  
    25.         radio4=(RadioButton)findViewById(R.id.radiobutton4);  
    26.           
    27.         radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()  
    28.               
    29.             @Override  
    30.             public void onCheckedChanged(RadioGroup group, int checkedId)  
    31.                 // TODO Auto-generated method stub  
    32.                 if(checkedId==radio2.getId())  
    33.                  
    34.                     DisplayToast("正确答案:"+radio2.getText()+",恭喜你,回答正确!");  
    35.                 }else  
    36.                  
    37.                     DisplayToast("请注意,回答错误!");  
    38.                  
    39.              
    40.         });  
    41.      
    42.     public void DisplayToast(String str)  
    43.      
    44.         Toast toast=Toast.makeText(thisstr, Toast.LENGTH_LONG);  
    45.         toast.setGravity(Gravity.TOP,0,220);  
    46.         toast.show();  
    47.      
    48.  

     

     strings.xml文件

     

    Java代码   收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <resources>  
    3.     <string name="hello">哪个城市美女多?</string>  
    4.     <string name="app_name">单选按钮测试</string>  
    5.     <string name="radiobutton1">杭州</string>  
    6.     <string name="radiobutton2">成都</string>  
    7.     <string name="radiobutton3">重庆</string>  
    8.     <string name="radiobutton4">苏州</string>  
    9. </resources>  

     main.xml文件:注意,这里面,4个RadioButton包含在RadioGroup中

     

    Java代码   收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:orientation="vertical"  
    4.     android:layout_width="fill_parent"  
    5.     android:layout_height="fill_parent"  
    6.      
    7. <TextView    
    8.     android:layout_width="fill_parent"   
    9.     android:layout_height="wrap_content"   
    10.     android:text="@string/hello"  
    11.     android:id="@+id/textview1"  
    12.     />  
    13.     <RadioGroup  
    14.         android:id="@+id/radiogroup1"  
    15.         android:layout_width="wrap_content"  
    16.         android:layout_height="wrap_content"  
    17.         android:orientation="vertical"  
    18.         android:layout_x="3px"  
    19.      
    20.         <RadioButton  
    21.             android:id="@+id/radiobutton1"  
    22.             android:layout_width="wrap_content"  
    23.             android:layout_height="wrap_content"  
    24.             android:text="@string/radiobutton1"  
    25.         />  
    26.         <RadioButton  
    27.             android:id="@+id/radiobutton2"  
    28.             android:layout_width="wrap_content"  
    29.             android:layout_height="wrap_content"  
    30.             android:text="@string/radiobutton2"  
    31.         />  
    32.         <RadioButton  
    33.             android:id="@+id/radiobutton3"  
    34.             android:layout_width="wrap_content"  
    35.             android:layout_height="wrap_content"  
    36.             android:text="@string/radiobutton3"  
    37.         />  
    38.         <RadioButton  
    39.             android:id="@+id/radiobutton4"  
    40.             android:layout_width="wrap_content"  
    41.             android:layout_height="wrap_content"  
    42.             android:text="@string/radiobutton4"  
    43.         />  
    44.     </RadioGroup>  
    45. </LinearLayout>  

     运行结果如下:



     假如我们选择杭州,会提示错误的Toast



     再次选中成都后,会提示答案正确



     这 里就可以看到,单选按钮的使用效果,如果只是使用RadioButton的话,把配置文件中RadioGroup去掉,当然,要重新为每个单选按钮设置监 听,这样,这个RadioButton就跟Button没有什么区别了,我们可以选中多个,所以要注意,单选按钮要和RadioGroup一起使用,才能 够实现单选的功能


    二:修改RadioButton样式

    可能你觉得RadioButton的样式不好看,没关系,你可以自己设置喜欢的图片显示,方法如下:

    1)在drawable文件夹下增加文档myradiobutton.xml,描述button在各个状态下得图片:

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
           <item android:drawable="@drawable/radio_button_selected" android:state_checked="true"/>
          <item android:drawable="@drawable/radio_button" />
    </selector>

    2)然后在布局文件中修改Radiobutton属性(android:button):

    <RadioButton
         android:id= "@+id/rb_5"         
         android:layout_width= "120px"
         android:layout_height= "85px"
    android:button="@null"
         android:button= "@drawable/myradiobutton"
    />

    展开全文
  • Android 单选按钮 下拉列表框

    千次阅读 2020-04-01 20:33:20
    单选按钮: 1.特点: 单选按钮一组是互斥的, 使用RadioGroup实现互斥 2.RadioGroup继承LinnerLayout: 所以可以使用linearLayout的相关属性...3.对于单选按钮的事件监听, 通常加载到RadioGroup, 接口:RadioGro...
  • RadioButton(单选按钮)在Android开发中应用的非常广泛,是一种单个原型单选框双状态的按钮,可以选择或不选择。 选中事件: 为单选按钮组 RadioGroup 添加 ObCheckedChangedListener 事件监听 RadioGroup sex=...
  • Android单选按钮自定义列

    千次阅读 2015-10-20 18:08:00
    手里有个项目,看设计原型,像是使用单选按钮来实现选择条件,但是又是排列整齐的按钮。记得单选RadioGroup只有纵横排列,并不支持九宫格的排列,但是要实现九宫格的排列样式,也未尝不可,可以在标签中使用其他的...
  • ==*在这里开始引用事件处理,需要先看博文《android基础-事件处理》==简介RadioButton 单选按钮放置在 RadioGroup 中使用,在后端获取布局页面选择项目数据RadioButton 对象方法释义getChildCount( )获得按钮组中的...
  • Android单选按钮RadioButton来看你选男还是女第一种是为RadioButton设置一个事件监听器setOnCheckChangeListener 布局文件:activity_main.xml<LinearLayout xmlns:android=...
  • android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
  • 场景:类似单选题的场景 效果图: 代码: main.xml中添加Button控件: <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=...
  • Android RadioGroup 单选按钮控件

    千次阅读 2020-05-19 10:20:49
    AndroidRadioGroup单选按钮控件 RadioGroup 为单项选择按钮组,其中可以包含多个 ...单选按钮的使用方法和 CheckBox 的使用方法高度相似,其事件监听接口使用的是 RadioGroup.OnCheckedChangeListener(),使用 se...
  • 总的来说每一个单选按钮和复选框都有checked()方法来判断是否被选中 为按钮和复选框设置事件监听...在改变状态时触发即为单选按钮组设置监听setOnCheckedChangeListener,在重写的onCheckedChanged方法中根据参数chec
  • RadioButton(单选按钮)在Android开发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。...
  • Android Studio 单选按钮RadioButton

    千次阅读 2020-03-30 18:08:05
    单选按钮需要放到单选按钮组RadioGroup中,每组中只有一个元素可以被选中。RadioGroup常用属性有: check,设置选中按钮的资源编号 getCheckedRadioButtonId,获取选中按钮的资源编号 实例代码如下: <?xml ...
  • 根据对文本框的监听,自动跳转单选按钮
  • Android单选按钮】RadioButton 单选按钮必须包含在RadioGroup中,相当于放在盒子里,为RadioGroup设置id为:nan_rsp;两个按钮设置id为:nan_rg_boy、nan_rg_girl。 <?xml version="1.0" encoding="utf-8...
  • 1.在我们的xml文件中写好需要的安卓控件2.在Activity中通过findViewById()获取相应的控件
  • 单选按钮的对话框运行效果:使用方法:new AlertDialog.Builder(MainActivity.this).setTitle("有单选按钮的对话框").setIcon(android.R.drawable.ic_dialog_info).setSingleChoiceItems(new String[]{"选项1",...
  • Android studio单选按钮、复选按钮

    万次阅读 2019-03-12 17:43:32
    单选按钮 .xml文件代码如下: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:...
  • Android开发单选按钮 创建空activity, 编辑activity_main.xml文件 代码如下: <?xml version="1.0" encoding="utf-8"?> <androidx.appcompat.widget.LinearLayoutCompat xmlns:android=...
  • 编程过程中,很多人想使用单选按钮的特性实现选择题选中之后不能更改的目的,在网上查找一些资料,没有找到相关的问题,可能是因为这个问题太简单,但是之所以发表这篇博客,希望给那些像我一样自学android 的人的...
  • Android学习之单选按钮

    千次阅读 2018-09-01 17:02:30
    单选按钮其实就是好几个按钮成为了一个大家族,我们每次只能够选择一个成员,创建单选按钮的方法就是把平常我们见到的普通按钮Button给他们装到一个盒子里面,让他们成为一个按钮组,所以就有了RadioGroup的产生。...
  • 文章目录1.Button的三种监听事件①设置onClick属性②匿名内部类③继承OnClickListener接口RadioButton的监听事件...  ①button按钮设置onClick属性   ②Activity中定义同名方法   ③编写交互代码   实

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,309
精华内容 2,523
关键字:

android单选按钮监听