自定义AppCompatButtondrawableLeft?

问题描述 投票:0回答:3

如何放置

drawableLeft
AppCompatButton
的按钮文本,如下图所示?

我尝试应用

paddingLeft
,但文本从可绘制对象移到右侧。

<android.support.v7.widget.AppCompatButton
                android:id="@+id/filterBy"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_filter"
                android:paddingLeft="20dp"
                android:text="@string/filter_by"
                android:textAllCaps="false" />

到目前为止,结果看起来像这样

布局

   <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/profileHeader"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="10dp">

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/findFriends"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_search"
                android:text="@string/find_friends"
                android:textAllCaps="false" />

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/filterBy"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_filter"
                android:text="@string/filter_by"
                android:textAllCaps="false" />
      </LinearLayout>

以及使事情变得清晰的解释要求。

使用

layout_weight
属性调整两个按钮的宽度,我要做的是,文本应该位于按钮的中心 并且可绘制对象应在文本左侧附近对齐。

请问有什么建议吗?

android button android-appcompat compound-drawables
3个回答
5
投票

使用

 android:drawablePadding=""

0
投票

可能你不能,如果你想要这样,那么你必须使用像这样的复杂布局来制作它see


0
投票

也在右侧添加填充,这会将文本和可绘制元素推得更近。不断调整这些值以获得所需的结果。 见下文

android:drawableStart="@drawable/ic_water_now"
    android:paddingLeft="10dp"
    android:paddingRight="21dp"

结果示例: Here is the results

© www.soinside.com 2019 - 2024. All rights reserved.