【问题标题】:How to place images in radio group in android along with radio button in android如何将图像与 android 中的单选按钮一起放置在 android 的单选组中
【发布时间】:2020-01-24 09:16:33
【问题描述】:

我想设计单选按钮以及相应的文本和图像。当我尝试在单选组内使用线性布局时,所有单选按钮都已启用。如何解决这个问题

【问题讨论】:

  • 你能在哪里分享你的 xml 或代码吗?
  • xml 在哪里?你的输出在哪里?
  • 你检查我的答案了吗?

标签: android android-studio radio-button radio-group


【解决方案1】:

这是您可以在 radiogroup 中使用图像和单选按钮的方式

<RadioGroup
    android:id="@+id/radiogroup"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <RadioButton
            android:id="@+id/radio0"
            android:layout_margin="10dp"
            android:drawableRight="@drawable/ic_launcher_background"
            android:layout_gravity="center_vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        <RadioButton
            android:id="@+id/radio1"
            android:layout_margin="10dp"
            android:drawableRight="@drawable/ic_launcher_background"
            android:layout_gravity="center_vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

</RadioGroup>

【讨论】:

  • 当我尝试使用这个时,我可以一次选择所有单选按钮
  • 如何将这些图像添加到 drawble 或 mipmap 资产中? @DevikaReji
  • 它有效,但我想垂直设计,首先是单选按钮,图像然后是文本
  • 如果它有效,请接受并投票给未来的探险家@DevikaReji
  • 使用线性布局将其方向设置为水平您可以并排设置radiogroup和textview @DevikaReji
【解决方案2】:

我设计了与下面相同的布局。它可能会对你有所帮助。

                <RadioButton
                    android:id="@+id/radioSubject"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@null"
                    android:button="@android:color/transparent"
                    android:drawableTop="@drawable/subject_selector"
                    android:fontFamily="@font/roboto_bold"
                    android:gravity="center"
                    android:text="@string/txt_subject"
                    android:textColor="@color/radio_text_selector"
                    android:textSize="@dimen/_15ssp" />

                <Space
                    android:layout_width="@dimen/_10sdp"
                    android:layout_height="match_parent" />

                <RadioButton
                    android:id="@+id/radioChapter"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@null"
                    android:button="@android:color/transparent"
                    android:drawableTop="@drawable/chapter_selector"
                    android:fontFamily="@font/roboto_bold"
                    android:gravity="center"
                    android:text="@string/txt_chapter"
                    android:textColor="@color/radio_text_selector"
                    android:textSize="@dimen/_15ssp" />

                <Space
                    android:layout_width="@dimen/_10sdp"
                    android:layout_height="match_parent" />

                <RadioButton
                    android:id="@+id/radioTopic"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@null"
                    android:button="@android:color/transparent"
                    android:drawableTop="@drawable/topic_selector"
                    android:fontFamily="@font/roboto_bold"
                    android:gravity="center"
                    android:text="@string/txt_topic"
                    android:textColor="@color/radio_text_selector"
                    android:textSize="@dimen/_15ssp" />
            </RadioGroup>

这里是 subject_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_ico_subject_active" android:state_checked="true" />
    <item android:drawable="@drawable/ic_ico_subject" />
</selector>

您必须为其他RadioButton 创建相同的xml

如果您想更改所选RadioButton 的文本颜色,那么这里是 xml。将此 xml 文件放入 res>color>.

这里是 radio_text_selector.xml 用于文本颜色。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="@color/colorPrimary"/>
    <item android:state_checked="true" android:color="@color/colorPrimary"/>
    <item android:color="@color/dividerColor"/>
</selector>

这里是输出看起来像

【讨论】:

    猜你喜欢
    • 2014-06-22
    • 2015-10-11
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多