我在布局中有一个带有可绘制集(leftDrawable)的textview。我想将背景仅应用于可绘制部分,文本应出现在背景之外。这可能吗?
答案 0 :(得分:1)
您可以尝试使用Shape Drawable作为背景的图层列表。
http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList
http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
例如,在您的布局中,您可以像TextView
这样:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/left"
android:text="Hello world!" />
包含图层列表的可绘制参考drawable/left.xml
:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/background"/>
<item android:drawable="@drawable/ic_launcher"/>
</layer-list>
要显示的图标可以是任何可绘制的,这里是用于测试目的的启动器图标。背景drawable在drawable/background.xml
中定义,其中包含一个形状:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<size
android:height="48dp"
android:width="48dp" />
<solid android:color="#ffff0000" />
</shape>
你的背景当然不是一个形状,它可以是任何其他可绘制的。