嗨,我有一个芯片组,我可以动态创建芯片并将其添加到芯片组中。
但是我希望芯片位于芯片组的右端,但始终位于左侧,如此处所示。
我希望芯片Text:0和Text:1在最右端。
这是我的代码:
<RelativeLayout
....
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextTitle"
android:layout_alignBaseline="@id/chipGroup"
android:gravity="end|bottom"
android:layout_marginTop="16dp"
android:layout_below="@id/toptv"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="14sp"
android:id="@+id/tt1"
/>
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@id/tt1"
android:layout_below="@id/toptv"
android:textColor="@android:color/black"
android:textStyle="bold"
android:textSize="12sp"
/>
</RelativeLayout>
这是我将芯片动态添加到芯片组的方式:
Chip chip;
for(int i=0;i<2;i++){
chip = new Chip(this);
chip.setText("Text:"+i);
chip.setChipBackgroundColorResource(android.R.color.darker_gray);
chip.setTextColor(Color.WHITE);
mChipGroup.addView(chip);
}
我搜索了一些SOF帖子,但无法将筹码向右对齐。任何帮助都会非常有帮助。
答案 0 :(得分:0)
您需要更改您的ChipGroup
组属性。这是更改的代码。
<RelativeLayout
....
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextTitle"
android:layout_alignBaseline="@id/chipGroup"
android:gravity="end|bottom"
android:layout_marginTop="16dp"
android:layout_below="@id/toptv"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="14sp"
android:id="@+id/tt1"
/>
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@id/tt1"
android:layout_below="@id/toptv"
android:textColor="@android:color/black"
android:textStyle="bold"
android:gravity="end"
android:textSize="12sp"
/>
</RelativeLayout>
我希望这会起作用。如果不是,请在您的问题上发布RelativeLayout
。
答案 1 :(得分:0)
只需替换
<RelativeLayout
....
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextTitle"
android:layout_alignBaseline="@+id/chipGroup"
android:layout_toLeftOf="@+id/chipGroup"
android:gravity="end|bottom"
android:layout_marginTop="16dp"
android:layout_below="@+id/toptv"
android:textColor="@android:color/white"
android:textStyle="bold"
android:textSize="14sp"
android:id="@+id/tt1"
/>
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/toptv"
android:textColor="@android:color/black"
android:textStyle="bold"
android:textSize="12sp"
/>
</RelativeLayout>
答案 2 :(得分:0)
您可以将scaleX = -1添加到您的chipGroup中,并且您的芯片也应具有scaleX = -1
答案 3 :(得分:0)
我用过这个,它对我有用
添加这一行: android:layoutDirection="rtl"
<com.google.android.material.chip.ChipGroup
android:id="@+id/questionLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layoutDirection="rtl"
>
</com.google.android.material.chip.ChipGroup>