Ale*_*ang 25 xml android shape drawable
我正在尝试创建一个简单的Drawable,我想将其设置为视图的背景(使用setBackgroundDrawable).我只想将drawable的背景划分为2个相等的矩形(50% - 50%),第一个想要用黑色填充,第二个用白色填充:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/back_color_1">
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
<item android:id="@+id/back_color_2">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
如何在可绘制XML定义文件中指定每个形状的宽度应为50%?像android:width ="50%"之类的东西.
(我正在使用Android 3.0,但我认为这是一个普通的Android问题.)
PS:您可以在CSS或XAML中执行此操作.
Ale*_*dam 10
您无法指定百分比.您需要为其指定Dimension值.
android:width在这里定义:http://developer.android.com/reference/android/R.attr.html#width:
(强调我的)
必须是维值,这是一个附加单位的浮点数,例如"14.5sp".可用单位是:px(像素),dp(与密度无关的像素),sp(基于首选字体大小的缩放像素),in(英寸),mm(毫米).
有关每种维度类型的定义,请参阅:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
您需要创建自己的属性(请参阅styleable)并自行执行计算onDraw(...).
请参阅以下两个问题及其中的链接示例:
没有真正的百分比设置,但您可能会接近。
似乎实现这一目标的最简单方法是使用图像作为可绘制的背景,然后只进行黑白分割图像。
我知道拆分任何东西的唯一另一种方法是使用 2 个视图,每个视图都有自己的 bg 颜色,并且每个视图都为 android:layout_weight 属性(即 50/50)赋予相同的正值。然后他们将分割可用空间。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
30535 次 |
| 最近记录: |