簡體   English   中英

android-add top padding 到 Chip 文本

[英]android-add top padding to Chip text

我在我的 android 應用程序中使用material庫中的Chip組件。 它是一個動作芯片,里面有一個圖標和一個文字。 關鍵是我需要在文本頂部添加一些填充,以便將其降低一點。

我試圖向芯片添加textAppearance樣式,但找不到任何樣式項來執行我需要的操作。 怎么做?!

        <com.google.android.material.chip.Chip
        android:id="@+id/chip"
        android:layout_width="wrap_content"
        app:chipIcon="@drawable/satisfied"
        app:chipIconTint="#444"
        android:layout_height="wrap_content"
        android:text="my text!"
        android:textAppearance="@style/Widget.App.Chip" />


    <style name="Widget.App.Chip" parent="Widget.MaterialComponents.Chip.Action">
    <item name="android:textSize">14dp</item>
    <item name="android:fontFamily">@font/xyz</item>
    <item name="android:textStyle">bold</item>
    // what item is needed to achieve top padding?!
    </style>

簡單地說:你不能。 Chip是按原樣設計的,它擴展了AppCompatCheckBox和進一步的TextView (文檔在這里)。 因此,左側和/或右側的這些圖標是復合可繪制對象,而不是單獨的View (例如ImageView ),因此您將設置為Chip每個填充都會為文本和所有圖標添加填充(因為這是一個View )。 為了您的目的,您必須創建自己的自定義View ,最簡單的方法可能是創建水平LinearLayout與 childs: TextViewImageView s 在它的左側和右側,然后您可以僅為文本設置額外的填充

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM