想要在Button上添加图标,drawableTop无法正常工作

时间:2019-01-18 11:37:21

标签: android android-layout android-drawable android-button

我想在按钮上添加通话图标,但是drawableTop无法正常工作。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <Button
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:drawableTop="@android:drawable/ic_menu_call"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>

enter image description here

4 个答案:

答案 0 :(得分:4)

Button替换为AppCompatButton

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">

        <android.support.v7.widget.AppCompatButton
            android:id="@+id/imageView3"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:drawableTop="@android:drawable/ic_menu_call"/>
</LinearLayout>

答案 1 :(得分:1)

LinearLayout添加方向,确定在设置android:layout_weightandroid:layout_width="wrap_content"的同时是否要设置android:layout_height="match_parent"并将文本设置为按钮。

答案 2 :(得分:1)

您还可以按照以下方式在 drawableStart 中定义图标:

                    <Button
                        android:id="@+id/imageView3"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@color/black_overlay"
                        android:drawableStart="@drawable/ic_menu_call"
                        android:padding="15dp"
                        android:text="Click here"
                        android:textStyle="bold" />

填充,文本样式和背景颜色仅用于装饰。

答案 3 :(得分:0)

在将androidx与材料ui库而不是支持库一起使用时

implementation 'com.google.android.material:material:1.0.0'

您将需要使用

<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableTop="@android:drawable/ic_menu_camera"
    android:text="Camera" />