android - 如何在按钮上同时添加文字和图片?
PHPz
PHPz 2017-04-17 11:25:56
0
1
811

我想设置一个带有图案的动态按钮,可以随程序运行的状态和图片上方的文本变化而改变。如果我用ImageButton,连文本都无法添加。如果用Button,我可以添加文本,但是只能用android:drawableBottom设定图片和一些XML的相关属性。然而这些属性只能将文本和图片在二维空间里结合在一起,也就是说,我只能在文本周围添加图片,但不能将图片置于文本下方。
我应该怎么解决这个问题呢?

原问题:Android: combining text & image on a Button or ImageButton

PHPz
PHPz

学习是最好的投资!

全部回覆(1)
黄舟

答:Vitaly Polonetsky
(最佳答案)
你可以在Button上設定setBackgroundDrawable(),來為按鈕新增背景。任何文字都可以置於背景上方,如果你需要一些xml的相關內容,可以讓android:background這個屬性。


答:OneWorld
下述方法主要解決在一個按鈕上新增背景,圖示和文字的操作:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/home_btn_test"
        android:drawableTop="@drawable/home_icon_test"
        android:textColor="#FFFFFF"
        android:id="@+id/ButtonTest"
        android:paddingTop="32sp"
        android:drawablePadding="-15sp"
        android:text="this is text"></Button>

如果想要實現更複雜的效果,你可以使用RelativeLayout,設定它的可點擊性。


答:schlingel
我認為還有一些更好的解決辦法,只需要一個普通的Button,然後用drawableLeft和重力屬性即可完成:

<Button
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:drawableLeft="@drawable/my_btn_icon"
  android:gravity="left|center_vertical" />

這樣,在按鈕左側會出現一個連結按鈕,本文會在按鈕右側,居中位置。

答:CMA
只需要用

android:background="@android:color/transparent"
android:drawableTop="@drawable/[your background image here]"

替代

android:background="@drawable/icon"

即可

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板