所以... a known Android
issue是设置 drawable
TextView
的背景结合设置 padding
(例如 paddingLeft
)仅在 background
时有效在 padding
的之前设置.
到目前为止一切顺利(而且很烦人)。
但是,如果我想通过 .xml(而不是以编程方式)执行该操作怎么办? :(
有任何想法吗?
但不管怎样paddingLeft
我设置了,没有任何变化。
我肯定它应该 工作,但也许这是一个布局错误?
这是(非常简化的)布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@drawable/call_btn"
android:paddingLeft="@dimen/DESIRED_LEFT_PADDING"
android:paddingStart="@dimen/DESIRED_LEFT_PADDING"
android:drawableLeft="@drawable/ic_phone"
android:drawablePadding="@dimen/drawable_padding"
android:drawableStart="@drawable/ic_phone"
android:singleLine="true" />
<Button
android:id="@+id/address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/call"
android:paddingLeft="@dimen/rest_item_btn_side_margin"
android:paddingStart="@dimen/rest_item_btn_side_margin"
android:background="@drawable/navigate_btn"
android:drawableLeft="@drawable/ic_address"
android:drawablePadding="@dimen/drawable_padding"
android:drawableStart="@drawable/ic_address"
android:gravity="start|center_vertical"
android:singleLine="true" />
</RelativeLayout>
这个布局位于另一个布局中,使用 <include>
标签:
<CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<ScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appbar"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:background="@android:color/transparent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/transparent" >
<include
android:id="@+id/btn_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
layout="@layout/btn_layout" />
</RelativeLayout>
</ScrollView>
</CoordinatorLayout>
解决方案
好吧,这很尴尬,但我只有一个全局 Button
style
设置 paddingLeft
...我确定 xml 声明会覆盖 style
... 显然并非总是如此。这是错误还是我不应该相信这种行为?
总之,问题终于解决了:)
最佳答案
试试这个..如果这符合您的要求:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:gravity="center"
android:padding="10dip"
android:drawablePadding="10dip"
android:drawableLeft="@drawable/ic_launcher"
android:background="@drawable/preview_dailog_bg"
android:text="swipe_element"
android:textColor="@android:color/white"
android:layout_centerInParent="true"/>
关于在 xml 中具有可绘制背景的 Android TextView 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049667/