[英]Set drawable position inside button
我在文本左側有一個按鈕和一個可繪制對象,但我希望可繪制對象更接近文本。 所以我需要移動drawable。
我已經定義了 android:drawableLeft 但按鈕的內容沒有居中。
這是我的代碼:
<Button
android:id="@+id/addsubject"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_action_add"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:text="@string/addsubject"
android:textColor="@color/white"
android:background="@drawable/custombutton1" />
這是它現在的樣子:
這是我希望的樣子:
謝謝!
嘗試這個
<Button
android:id="@+id/addsubject"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:drawableLeft="@drawable/ic_action_add"
android:drawablePadding="2dip"
android:gravity="center"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:text="@string/addsubject"
android:textSize="13dip" />
在MaterialButton
使用app:iconGravity="textStart"
屬性
<com.google.android.material.button.MaterialButton
app:icon="@drawable/ic_add_24px"
app:iconGravity="textStart"
../>
如果您想減少圖標和文本之間的填充,只需使用app:iconPadding
屬性:
<com.google.android.material.button.MaterialButton
app:icon="@drawable/ic_add_24px"
app:iconGravity="textStart"
app:iconPadding="0dp"/>
我通過簡單地將這些屬性專門放在按鈕上得到了這個結果
<Button
...
android:paddingLeft="60dp"
android:drawablePadding="-50dp"
android:gravity="center"
android:drawableLeft="@drawable/your_button_icon"
/>
您可以調整自己的價值觀以獲得所需的結果。
干杯:-)
我只是使用 paddingLeft 和 paddingRight 做到了這一點。 其作品! ... android:paddingLeft="25dp" android:paddingRight="25dp"
/>
按鈕左邊框和圖標右邊框之間的內邊距由android:paddingLeft
屬性控制。 圖標和文本之間的內邊距由android:drawablePadding
屬性定義。
將這兩個屬性添加到您的按鈕並設置您滿意的值。
<Button
...
android:paddingLeft="24dp"
android:drawablePadding="8dp"
/>
您可以通過添加 OnClickListener 將 LinearLayout 用作按鈕並根據需要進行自定義。
<LinearLayout
android:layout_width="160dip"
android:layout_height="60dip"
android:orientation="horizontal"
android:background="@drawable/custombutton1">
<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_action_add"
android:layout_gravity="center"
android:layout_weight="1"
android:scaleType="center">
</ImageView>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/addsubject"
android:layout_gravity="center"
android:layout_weight="1"/>
</LinearLayout>
在閱讀了一段時間並使用 XML 進行了大量組合后,您還可能希望以編程方式擴展可繪制/圖標,但仍然無法正常工作,
您可能希望在庫下面分叉,以適合您的用例,例如以編程方式自定義視圖、位置等,請參閱以下參考:
PS:版權歸作者所有
對於 Materialbutton,您必須使用icon屬性,您還可以使用iconTint更改其色調,如下例所示:
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_cancel"
app:iconTint="@color/black"
android:text="text" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.