【发布时间】:2011-09-22 06:10:52
【问题描述】:
我想为布局提供一个类似于图中所示的背景可绘制对象。我如何使用可绘制的 xml 来做到这一点?请提出一个合适的方法来解决这个问题。
【问题讨论】:
标签: android android-layout android-widget
我想为布局提供一个类似于图中所示的背景可绘制对象。我如何使用可绘制的 xml 来做到这一点?请提出一个合适的方法来解决这个问题。
【问题讨论】:
标签: android android-layout android-widget
使用单个 xml 可绘制对象是不可能做到这一点的,但可能你可以使用两个来创建这种效果。我会这样做
参考这里
http://developer.android.com/guide/topics/resources/drawable-resource.html#Clip
您可以使用 android:gravity="top" 然后以编程方式设置级别以显示 90%(或更多)的图像
ImageView imageview = (ImageView) findViewById(R.id.image);
ClipDrawable drawable = (ClipDrawable) imageview.getDrawable();
drawable.setLevel(drawable.getLevel() + 9500);
【讨论】:
我知道这是 4 年多之后的事,但对于其他想要达到相同结果的人来说,有一个非常简单的方法可以通过创建 layer-list xml drawable 来实现这一目标。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<padding
android:top="5dp"
android:left="5dp"
android:right="5dp" />
<solid
android:color="@android:color/black" />
</shape>
</item>
<item>
<shape>
<solid
android:color="@android:color/white" />
</shape>
</item>
</layer-list>
将此保存到项目的 drawable 文件夹并像引用任何其他可绘制对象一样引用它(android:src / android:background,或以编程方式)
【讨论】: