首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Button drawableLeft 圖示貼左邊?用 drawablePadding 或改用 LinearLayout 包裝

     編輯:程式設計綜合問答

現象

android:drawableLeft="@drawable/Handshake" 圖示緊貼 Button 左緣,想要左側留白。

方案一:drawablePadding (四邊同距)

<Button
    android:drawableLeft="@drawable/Handshake"
    android:drawablePadding="16dp" />

缺點:上下左右皆產生間距,無法單獨控制左側。

方案二:LinearLayout 包裝 ImageView + TextView (推薦)

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:background="@drawable/curvedplanebutton"
    android:paddingLeft="24dp">  <!-- 整體左內距 -->

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:src="@drawable/Handshake"
        android:layout_marginRight="12dp" /> <!-- 圖文間距 -->

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Payments"
        android:textColor="@drawable/button_text_color"
        android:textSize="16sp" />

</LinearLayout>

優勢

  • 完全控制圖示大小、間距、對齊
  • 可分別設定圖示與文字顏色狀態
  • 符合 Material Design 規範

方案三:MaterialButton (AndroidX)

<com.google.android.material.button.MaterialButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Payments"
    app:icon="@drawable/Handshake"
    app:iconGravity="start"
    app:iconPadding="16dp" />

MaterialButton 內建 iconPadding 屬性,專門控制圖文間距,最現代化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved