27

RadioButtons内部の間に仕切りを追加する簡単な方法はありRadioGroupますか? xml 属性を使用してみましたが、divider機能していないようです。関連する場合RadioGroup、私のレイアウトには子ビューが含まれていません。プログラムで追加していRadioButtonsます。

編集:問題は解決しました。xml のRadioButton内部以外にもビューを追加できます。RadioGroup私の場合、プログラムで行うこともできますが、レイアウト パラメータには注意してください。Akki の考えは正しかったので、これでうまくいきました。

for (int i = 0; i < items.size(); i++) {
    if (i > 0) {
        // add a divider with height of 1 pixel
        View v = new View(this);
        v.setLayoutParams(new RadioGroup.LayoutParams(LayoutParams.MATCH_PARENT, 1));
        v.setBackgroundColor(android.R.color.darker_gray);
        mRadioGroup.addView(v);
    }
    RadioButton rb = new RadioButton(this);
    /* set other properties ... */

    mRadioGroup.addView(rb);
}
4

4 に答える 4

34
<RadioGroup
    android:id="@+id/location_radio_group"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="?android:attr/dividerHorizontal"
    android:showDividers="middle">
</RadioGroup>

それはあなたのために働くでしょう。グループ ビューにビューを追加する方法を教えてください。それはclasscastexceptionを引き起こすはずですよね?

于 2014-02-04T16:51:45.230 に答える
6

仕切りを表すシェイプ ドローアブルを作成します (「radio_group_divider」と呼ばれます)。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size android:width="12dp" />
    <solid android:color="@color/transparent" />
</shape>

このドローアブルを RadioGroup の「ディバイダー」として使用します。

<RadioGroup
        ...
        android:divider="@drawable/radio_group_divider"
        android:showDividers="middle"
        ...>
</RadioGroup>
于 2013-09-24T13:47:30.233 に答える