ChipおよびChipGroupを使用するには、アプリケーションスタイルを「Theme.MaterialComponents.Light.NoActionBar」int manifests.xmlに拡張し、ボタン「Android:background」属性を設定しますが、効果はありません。どうして?そして、私は何ができますか?
これが私のスタイルです:
<style name="AppBaseTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/primary_material_light</item>
<item name="colorPrimaryDark">@color/header_color</item>
<item name="actionBarSize">48dp</item>
<item name="Android:screenOrientation">portrait</item>
<!--<item name="buttonStyle">@style/AntButton</item>-->
<!--<item name="materialButtonStyle">@style/AntButton</item>-->
<!--<item name="Android:button"></item>-->
<!--<item name="Android:progressTint">@color/ffc000</item>-->
<item name="colorAccent">@color/ffc000</item>
</style>
<style name="AntButton" parent="Android:Widget">
<item name="Android:background">@drawable/abc_btn_default_mtrl_shape</item>
<item name="Android:textAppearance">?android:attr/textAppearanceButton</item>
<item name="Android:minHeight">48dip</item>
<item name="Android:minWidth">88dip</item>
<item name="Android:focusable">true</item>
<item name="Android:clickable">true</item>
<item name="Android:gravity">center_vertical|center_horizontal</item>
<!--<item name="Android:colorButtonNormal">@color/white</item>-->
</style>
ButtonStyleとmaterialButtonStyleを変更しようとしましたが、効果はありません!
これは私のレイアウトxmlです:
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<LinearLayout
Android:id="@+id/ll_popup"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom"
Android:background="@color/white"
Android:divider="@drawable/shape_divider_05dp"
Android:orientation="vertical"
Android:showDividers="beginning|middle">
<!--only can use backgroundTint to change background color-->
<Button
Android:id="@+id/item_popupwindows_Photo"
Android:layout_width="match_parent"
Android:layout_height="55dp"
Android:backgroundTint="@color/white"
Android:text="Pictrue"
Android:textColor="@color/c_666666"
Android:textSize="16sp" />
<!--background not effect !!-->
<Button
Android:id="@+id/item_popupwindows_cancel"
Android:layout_width="match_parent"
Android:layout_height="55dp"
Android:background="@color/white"
Android:text="cancel"
Android:textColor="@color/c_666666"
Android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
これは結果です:
APPでChipとChipGroupを使用しているため、Material Componentsを拡張するユーザーテーマが必要です!解決方法を知っていますか?教えてください、ありがとう!
このページでは 新しいマテリアルコンポーネントのボタンでAndroid:backgroundを使用することはできません 、作成者はデフォルトのパディングを変更したいのですが、backgroundDrawableを変更したいので、うまくいきません。
真のButton
が必要で、フレームワークButton
のように(MaterialButton
の代わりに)変更できる場合は、レイアウトでフレームワークのバージョンを明示的に指定できます。ファイル。これを置き換えます:
<Button Android:id="@+id/item_popupwindows_cancel" ... />
これとともに:
<Android.widget.Button
Android:id="@+id/item_popupwindows_cancel"
... />
これにより、ブリキに書かれていることがわかります:Android.widget.Button
は、スタイリングに期待どおりに対応する必要があります。
同様に、<androidx.appcompat.widget.AppCompatButton>
素材コンポーネント機能ではなくライブラリ機能をサポートする場合。
この特定のケースでは、2番目のLinearLayout
を保持しているButton
の背景色は白いようです。つまり、Button
に白い背景を明示的に指定する必要はありません。 LinearLayout
の背景が透けて見えるようにすることができます。
これを行うには、 「テキストボタン」スタイル of MaterialButton
を使用します。
style="@style/Widget.MaterialComponents.Button.TextButton"