`

Android:解决RadioGroup中RadioButton的图片自定义及每项间隔距离一样

阅读更多

这个用于控制每个radiobutton之间的距离一致。
android:layout_weight="1"
以下3个属性是自定义radiobutton的图片
android:background="@null"
android:button="@null"
android:drawableLeft="@drawable/btn_radio_fee"

注意:不能使用android:layout_marginRight、android:paddingLeft
     不管是在布局文件中还是在代码里写,不同的屏幕分辨率会不一致。





/res/drawable-hdpi该目录下有2中图片,一张是选中状态的,一张是位选中状态


创建xml:/res/drawable/btn_radio_fee.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item android:state_checked="false" android:drawable="@drawable/radio_unchecked"/>
    <item android:state_checked="true"  android:drawable="@drawable/radio_checked"/>
    <item android:state_selected="true"  android:drawable="@drawable/radio_checked"/>
    <item android:state_pressed="true"  android:drawable="@drawable/radio_checked"/>
 
</selector>



创建xml:/res/layout/activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <RadioGroup
        android:id="@+id/feeGroup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dip"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/feerb1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableLeft="@drawable/btn_radio_fee"
            android:gravity="center"
            android:text="20"
            android:textColor="#ff000000"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/feerb2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableLeft="@drawable/btn_radio_fee"
            android:gravity="center"
            android:text="30"
            android:textColor="#ff000000"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/feerb3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:checked="true"
            android:drawableLeft="@drawable/btn_radio_fee"
            android:gravity="center"
            android:text="50"
            android:textColor="#ff000000"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/feerb4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableLeft="@drawable/btn_radio_fee"
            android:gravity="center"
            android:text="100"
            android:textColor="#ff000000"
            android:textSize="12sp" />

        <RadioButton
            android:id="@+id/feerb5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@null"
            android:button="@null"
            android:drawableLeft="@drawable/btn_radio_fee"
            android:gravity="center"
            android:text="200"
            android:textColor="#ff000000"
            android:textSize="12sp" />
    </RadioGroup>

</RelativeLayout>



package com.example.radiobtn2;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

}


分享到:
评论

相关推荐

    Android学习笔记七:基本视图组件:RadioGroup和RadioButton

    在Android开发中,基本视图组件是构建用户界面的基础,其中RadioGroup和RadioButton是用于创建单选按钮组的重要组件。这篇“Android学习笔记七:基本视图组件:RadioGroup和RadioButton”深入探讨了这两个组件的使用...

    Android 动态添加RadioGroup的RadioButton-IT计算机-毕业设计.zip

    在Android开发中,动态添加组件是一项常见的需求,特别是在创建自定义布局或实现复杂交互时。本项目是一个关于“Android动态添加RadioGroup的RadioButton”的源码示例,适用于毕业设计学习和论文参考。以下是对这个...

    Android自定义RadioButton及RadioGroup

    本篇文章将深入探讨如何在Android中自定义RadioButton及其所在的RadioGroup,并使用selector来实现动态的选中状态变化。 首先,我们来理解一下什么是selector。Selector是Android中的一个图形状态列表器,它可以...

    Android 自定义RadioGroup布局,修改源码自定义控件

    `RadioGroup`是Android系统中用于管理多个单选按钮(`RadioButton`)的容器,通常限制用户只能选择其中一项。 首先,理解`RadioGroup`的工作原理至关重要。`RadioGroup`默认使用线性布局,如水平或垂直方向,将`...

    android 自定义单选按钮radioButton

    在Android开发中,单选按钮(RadioButton)是用户界面中常用的一种组件,它通常用于提供一组互斥的选择项,用户只能选择其中的一项。本教程将深入探讨如何在Android中自定义RadioButton,使其满足特定的设计需求。 ...

    RadioGroup自定义选项卡样式

    在Android开发中,RadioGroup是用于管理一组RadioButton的布局,它允许用户在多个选项中选择一个。本教程将深入探讨如何自定义RadioGroup以创建独特的选项卡样式,从而提升应用程序的用户体验。 首先,RadioGroup的...

    使用RadioGroup与RadioButton

    在Android开发中,`RadioGroup`和`RadioButton`是两种非常重要的选择控件,它们用于实现单选功能,即在多个选项中只能选择一个。`RadioGroup`是一个容器控件,用于管理一组`RadioButton`,确保同一时间只有一个`...

    RadioGroup&amp;RadioButton简单使用

    RadioGroup和RadioButton是Android开发中常用的UI组件,用于创建单选按钮组,让用户在多个选项中选择一个。本文将深入探讨这两个组件的使用方法、属性配置以及如何在实际项目中应用。 首先,RadioGroup是一个线性...

    RadioGroup和RadioButton实现FragmentTabHost导航效果

    在Android开发中,`RadioGroup`和`RadioButton`是一对常用的组件,它们通常用于实现单选功能,即在多个选项中只能选择一个。在本例中,我们将它们应用于`FragmentTabHost`的导航效果,创建一个可以切换不同`Fragment...

    radiogroup:使用RadioGroup以及RadioButton自定义样式实现喜马拉雅底部的切换功能

    在Android开发中,`RadioGroup`和`RadioButton`是两个常用的UI组件,它们常用于创建单选按钮组,用户可以在其中选择一个选项。本篇将详细介绍如何利用`RadioGroup`和`RadioButton`来实现类似喜马拉雅底部的切换功能...

    实现类似RadioGroup,RadioButton的自定义控件实现

    在Android开发中,`RadioGroup`和`RadioButton`是用于创建单选按钮组的常见控件,它们提供了用户只能从一组选项中选择一个的功能。然而,有时为了满足特定的界面设计或功能需求,我们可能需要自定义类似的控件。这篇...

    Android radiogroup&Radiobutton

    在Android开发中,`RadioGroup`和`RadioButton`是两个重要的UI组件,它们常用于创建单选按钮组,用户只能从多个选项中选择一个。在本篇内容中,我们将深入探讨`RadioGroup`和`RadioButton`的基本用法、属性设置以及...

    RadioGroup支持RadioButton多行多列

    在Android开发中,`RadioGroup` 是一个非常重要的布局组件,它用于管理多个 `RadioButton` 对象。`RadioGroup` 的主要功能是实现单选功能,即在同一组中,用户只能选择一个 `RadioButton`,而不能同时选择多个。在本...

    安卓Andriod源码——动态添加RadioGroup的RadioButton.zip

    在Android开发中,有时我们需要根据需求动态地在界面上添加组件,例如RadioGroup中的RadioButton。这份"安卓Andriod源码——动态添加RadioGroup的RadioButton.zip"资源就提供了这样的示例代码,帮助开发者理解如何在...

    安卓Android源码——动态添加RadioGroup的RadioButton.zip

    在安卓开发中,有时我们需要根据需求动态地在界面上添加组件,例如在RadioGroup中添加RadioButton。本示例代码着重讲解如何在Android应用中实现这一功能。RadioGroup是一种布局容器,用于管理一组RadioButton,使得...

    RadioButton自定义样式详解

    在Android开发中,RadioButton是用户界面中常见的组件之一,它用于实现单选功能,让用户从多个选项中选择一个。RadioButton通常与RadioGroup配合使用,RadioGroup可以管理一组RadioButton,确保同一时间只有一个...

    动态添加RadioGroup的RadioButton.zip

    以下是一个简单的示例代码片段,展示了如何动态添加RadioButton到RadioGroup: ```java // 创建RadioGroup RadioGroup radioGroup = new RadioGroup(this); radioGroup.setId(R.id.radio_group); // 添加...

    android中radioGroup动态添加radioButton

    在Android开发中,`RadioGroup` 是一个非常重要的布局组件,它用于管理一组单选按钮(`RadioButton`)。`RadioGroup`确保同一时间只能有一个`RadioButton`被选中,这通常用于实现多选项中的互斥选择。本篇将详细介绍...

    RadioGroup&RadioButton小技巧

    在Android开发中,`RadioGroup`和`RadioButton`是两个常用的UI组件,它们用于实现单选功能,类似于HTML中的radio按钮。在这个主题中,我们将深入探讨`RadioGroup`和`RadioButton`的一些实用技巧,以及如何在项目中...

Global site tag (gtag.js) - Google Analytics