Lyu*_*tko 72 user-interface android
我试图<shape>在XML文件/布局中声明填充.但无论我设置什么,没有任何与填充相关的变化.如果我修改任何其他属性,我会在UI上看到效果.但它不适用于填充.你能否就可能出现这种情况的原因提出建议?
这是我试图设计的XML Shape:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp"
android:color="#ffffff"
android:dashWidth="2dp"/>
<solid android:color="@color/button_white_cover"/>
<corners android:radius="11dp"/>
<padding android:left="1dp"
android:top="20dp"
android:right="20dp"
android:bottom="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
Lyu*_*tko 103
我终于用填充解决了我的问题.
所以这里的填充对形状没有影响.而不是这个,你将不得不在其他可用的drawable中应用填充.所以,我有一个使用形状的drawable,我在那里做:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_below"/>
<item android:top="10px" android:right="10px" android:drawable="@drawable/shape_cover"/>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
所以,正如你在第二部分中看到的那样,<item>我设置了填充(顶部和右侧).一切都行之有效.
谢谢.
The*_*eIT 62
正如一些评论所提到的,最好的方法是将<shape>一个<item>元素包装起来并在那里设置填充.但是,有其他选项可在下面的链接中详细说明.例如
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="8dp"
android:right="8dp"
android:top="8dp"
android:bottom="8dp">
<shape android:shape="rectangle">
...
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
根据您的需要,您可以使用以下任何可绘制类型,而不是使用图层列表:
有关可用drawable类型的更多信息,请参阅此android文档
资料来源:
Yah*_*hel 18
Lyobomyr的答案有效,但这里应用了相同的解决方案,但没有创建新drawable的开销,因此最大限度地减少了文件的混乱:
在上面的SO答案上通过anon复制/粘贴anwser:
<item android:left="6dp"
android:right="6dp">
<shape android:shape="rectangle">
<gradient android:startColor="#ccd0d3"
android:centerColor="#b6babd"
android:endColor="#ccd0d3"
android:height="1px"
android:angle="0"/>
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
小智 11
你可以试试插图:
<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetBottom="2dp"
android:insetLeft="1dp"
android:insetRight="20dp"
android:insetTop="20dp">
<shape android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#ffffff"
android:dashWidth="2dp" />
<solid android:color="@color/button_white_cover" />
<corners android:radius="11dp" />
</shape>
</inset>
Run Code Online (Sandbox Code Playgroud)
小智 6
我这样解决了这个问题:
<shape android:shape="oval" >
<stroke android:width="4dp" android:color="@android:color/transparent" />
<solid android:color="@color/colorAccent" />
</shape>
Run Code Online (Sandbox Code Playgroud)
只是添加了一个透明的笔触.
| 归档时间: |
|
| 查看次数: |
73188 次 |
| 最近记录: |