簡體   English   中英

具有圖片和文字的自定義按鈕?

[英]Custom Button with picture and text?

我想在按鈕內添加圖片和文本,如下所示。 我的自定義按鈕

如果我以此為背景,那么它將根據不同手機的屏幕尺寸而變差。 因此,我想自定義繪制自定義布局,其中信息按鈕的圖像將保持在相同像素中,而信息字母則被繪制為單獨的。 這樣我將獲得准確的外觀而不會出現任何圖像失真。

您可以指定背景圖片“!” 圖標和文字分別如下所示:

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:drawableLeft="@drawable/icon"
android:text="info" />

使用9補丁作為背景,使用常規按鈕,使用可繪制的左側作為左側的圖像。 那是處理您案件的最好方法。

檢查 9補丁。 這樣一來,您就可以根據需要創建帶有圓角的背景,而無需扭曲它們。

因此,最后您將獲得一個普通按鈕,該按鈕的背景是您從9-patch中獲得的背景,而drawableLeft是您設置圖標的背景。

查看出定義的情況下,按鈕狀態,你想有一個更好的用戶體驗。 您仍然需要完成所有這些操作,然后為按鈕背景定義狀態並將其用作背景。

您可以使用這三個drawable作為您的背景名稱,在res / drawable文件夾中使用一個文件backround.xml,此文件將在您按下,聚焦和正常的不同狀態下處理您的背景。

這是三個可以使用的9補丁可繪制對象:

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

backround.xml是:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item 
        android:state_pressed="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_focused="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />

    <item 
        android:state_enabled="true"
        android:drawable="@drawable/btn_black" />
    <item 
        android:state_enabled="false"
        android:drawable="@drawable/btn_red" />
</selector>

您的xml按鈕將如下所示:

  <Button
      android:id="@+id/my_btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:drawableLeft="@drawable/myIcon"
      android:drawablePadding="5dp"
      android:paddingLeft="10dp"
      android:text="info"
      android:background="@drawable/background" />

您需要在Button小部件中安排3件事: background image, info icon and text 對於這些使用這些:

android:background="backgroundImage"
android:drawableLeft="info icon"
android:text="text"

暫無
暫無

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

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