0

我做了DialogFragment一个RadioButton上面和ListView下面包含更多RadioButtons的。现在我只是想知道s 看起来与“独立”不同的ListView用途是什么风格。RadioButton

这是我的 dialog.xml 的片段

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/buttonGroup"
        android:layout_alignParentTop="true"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/none"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/none" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@android:color/white" />

        <ListView
            android:id="@+id/conferences"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
</LinearLayout>

和我的 list_item.xml,我膨胀为我的getViewArrayAdapter

<?xml version="1.0" encoding="utf-8"?>
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/conference"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

AppTheme的基于"Theme.AppCompat". 我没有更改视图中特定项目的任何样式。

“独立”RadioButton在选择时有一个带有蓝点的白色圆圈,当您按下它时甚至具有不同的样式。中的RadioButtonsListView都是黑色的,带有一个黑点,并且没有“按下”样式。如果我不需要以编程方式设置未选中/“按下”/选中的样式,那就太酷了。我已经尝试设置 2 个基本的 Android 主题,它们的名称中有“RadioButton”,ListView但没有任何改变。也许有一种方法可以获取“独立”的样式RadioButton并将其设置在其他RadioButtons的xml文件中?

我会发布一张图片,但我是新来的,所以不允许这样做。

更新

我将我的 AppTheme 更改为:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="android:textViewStyle">@style/TextAppearance.AppCompat.Large</item>
    <item name="android:radioButtonStyle">@style/RadioButtonStyle</item>
</style>

<style name="RadioButtonStyle">
    <item name="android:textAppearance">@style/TextAppearance.AppCompat.Large</item>
</style>

RadioButtons 中的ListView改变但不是“独立”的。当我将样式添加到RadioButton

<RadioButton
    android:id="@+id/none"
    style="@style/RadioButtonStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/none" />

文本更改但 RadioButton-circle 仍然存在。因为圈子里的RadioButtons不见了……ListView

4

1 回答 1

3

确保LayoutInflater在您的Adapter使用Activity上下文中而不是在应用程序上下文中。

更新:

android从您的样式中删除前缀:

  <item name="radioButtonStyle">@style/RadioButtonStyle</item>

并更新RadioButtonStyle如下:

<style name="RadioButtonStyle" parent="@style/Widget.AppCompat.CompoundButton.RadioButton" />
于 2015-05-21T13:00:41.013 回答