自定义 AppCompatButton drawableLeft?

Posted

技术标签:

【中文标题】自定义 AppCompatButton drawableLeft?【英文标题】:Customize AppCompatButton drawableLeft? 【发布时间】:2016-03-05 01:23:40 【问题描述】:

我怎样才能像下图一样放置drawableLeftAppCompatButton 的按钮文本?

我已尝试应用 paddingLeft,但文本从可绘制对象移到右侧。

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

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

布局

   <LinearLayout
            android:layout_
            android:layout_
            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_
                android:layout_
                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_
                android:layout_
                android:layout_weight="1"
                android:drawableLeft="@drawable/ic_btn_filter"
                android:text="@string/filter_by"
                android:textAllCaps="false" />
      </LinearLayout>

以及解释清楚的要求。

使用layout_weight 属性调整两个按钮的宽度,我要做的是,文本应该在按钮的中心 并且drawable应该在文本的左侧附近对齐。

有什么建议吗?

【问题讨论】:

【参考方案1】:

使用

 android:drawablePadding=""

【讨论】:

drawablePadding 仅使按钮文本和可绘制的黑白填充。 您完全误解了我的查询,请查看更新后的查询。【参考方案2】:

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

【讨论】:

以上是关于自定义 AppCompatButton drawableLeft?的主要内容,如果未能解决你的问题,请参考以下文章

在 v21 中设置 AppCompatButton 的样式,使其没有阴影且圆角半径为零

如何在自定义适配器中搜索?

AppCompatButton backgroundTint API < 21

Android 丨 Glide加载自定义圆形ImageView

markdown AppCompatButton具有Ripple效果和Touch on Touch

IllegalStateException:在父或祖先上下文类 android.support.v7.widget.AppCompatButton 中找不到方法 insert(View)