小编Sye*_*air的帖子

动态添加芯片到芯片组

我正在尝试将几个芯片动态添加到芯片组中。第一个看起来不错,但其他的显示不正确。但是当我使用 XML 时它工作正常。请帮忙。

这是屏幕截图

  1. 活动_main.xml

        <com.google.android.material.chip.ChipGroup
            android:id="@+id/chip_group_main"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="2dp"
            app:chipSpacingHorizontal="4dp">
    
            <com.google.android.material.chip.Chip
                style="@style/ChipTextAppearance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Hello"
                app:chipBackgroundColor="@color/colorAccent"
                app:closeIconEnabled="true" />
    
            <com.google.android.material.chip.Chip
                style="@style/ChipTextAppearance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="World"
                app:chipBackgroundColor="@color/colorAccent"
                app:closeIconEnabled="true" />
    
    
        </com.google.android.material.chip.ChipGroup>
    </HorizontalScrollView>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在 MainActivity.java 中

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

    Chip chip = new Chip(this);
    chip.setText("ABC");
    chip.setChipBackgroundColorResource(R.color.colorAccent);
    chip.setCloseIconVisible(true);
    chip.setTextColor(getResources().getColor(R.color.white));
    chip.setTextAppearance(R.style.ChipTextAppearance);
    
    Chip chip2 = new Chip(this);
    chip.setText("XYZ");
    chip.setChipBackgroundColorResource(R.color.colorAccent);
    chip.setCloseIconVisible(true);
    chip.setTextColor(getResources().getColor(R.color.white));
    chip.setTextAppearance(R.style.ChipTextAppearance);
    
    
    ChipGroup chipGroup = findViewById(R.id.chip_group_main);
    
    chipGroup.addView(chip);
    chipGroup.addView(chip2);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 样式文件

    <resources>
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item> …
    Run Code Online (Sandbox Code Playgroud)

java xml android android-layout android-chips

6
推荐指数
3
解决办法
8030
查看次数

标签 统计

android ×1

android-chips ×1

android-layout ×1

java ×1

xml ×1