chu*_*ubs 36 android drawable xml-layout shapedrawable
我有一个非常简单的形状,我想设置宽度:
<shape android:shape="rectangle">
<solid android:color="@color/orange"/>
<size android:width="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
但是,当我将它指定给EditText的背景时,它只显示橙色背景而不是宽度为2dp的矩形.为什么不设置尺寸?我想创建一个透明的drawable,左侧是橙色矩形.我也把它包裹在选择器中:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="@color/orange"/>
<size android:width="2dp" android:height="6dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
我试过添加高度只是为了看它是否会改变大小.它没有.这就像它完全忽略了它的大小.WTF?
Sim*_*pps 18
对我来说,将项目的重力设置为"中心"解决了这个问题.例如:
<item android:id="@android:id/progress" android:gravity="center">
<clip>
<shape>
<size android:height="2dp"/>
<solid android:color="@color/my_color"/>
</shape>
</clip>
</item>
Run Code Online (Sandbox Code Playgroud)
只是指定user983447的答案 - size属性确实意味着一个比例.您应该为图层列表中的所有形状设置大小,并且在缩放时它将作为一个比例使用 - 就像layout_weight属性一样LinearLayout.因此,最好将它命名为a size而不是aweight
下面是如何在不使用size属性的情况下实现顶部和底部白线的解决方法:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="#fff" />
</shape>
</item>
<item android:top="1dp" android:bottom="1dp">
<shape>
<solid android:color="#888" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
它可以用于foreground.看起来你无法设置背景的引力.但你可以在前台.我检查了API 21,23和24(以及Studio设计预览),下面在ImageView上放置一个实心圆点.
<shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<size android:height="8dp" android:width="8dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
使用布局代码段
<ImageView
android:foreground="@drawable/list_new_dot"
android:foregroundGravity="right|center_vertical"
tools:src="@drawable/model_1_sm"
/>
Run Code Online (Sandbox Code Playgroud)
更新:虽然它似乎在布局设计工具中工作,但它在模拟器中看起来并不相同.更新2:由于这个答案有几票,你可能想检查我实际使用的是什么,以显示一个新的指标点:https: //gist.github.com/CapnSpellcheck/4d4638aefd085c703b9d990a21ddc1eb
我有类似的问题。
文档(http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape)说:
<尺寸>
形状的大小。(...)
注意:默认情况下,形状会缩放到与此处定义的尺寸成比例的容器视图的大小。当您在 ImageView 中使用形状时,可以通过将 android:scaleType 设置为“center”来限制缩放。
如果我理解正确的话,这意味着“尺寸”标签不是用于设置尺寸而是用于设置比例。
| 归档时间: |
|
| 查看次数: |
58064 次 |
| 最近记录: |