我不明白图层列表是如何工作的.我通过一些例子阅读了官方文档,但它并不像我预期的那样适用于我.我想要四个正方形,应该用1dp填充,但没有任何预期.这是一个按500%缩放的屏幕截图:

(错误的颜色无关紧要)
正如您所看到的那样,尺寸完全错误并且缺少填充.我试图设置像宽度/高度和右/左/顶部/按钮的实际值,以确保android得到我想要的点.
这是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp">
<shape android:shape="rectangle">
<size android:width="9dp"
android:height="9dp"/>
<solid android:color="#f000"/>
</shape>
</item>
<item android:top="1dp" android:left="1dp" android:bottom="5dp" android:right="5dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#f00"/>
</shape>
</item>
<item android:top="1dp" android:left="5dp" android:bottom="5dp" android:right="1dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#0f0"/>
</shape>
</item>
<item android:top="5dp" android:left="1dp" android:bottom="1dp" android:right="5dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#0f0"/>
</shape>
</item>
<item android:top="5dp" android:left="5dp" android:bottom="1dp" android:right="1dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid …Run Code Online (Sandbox Code Playgroud) 我有这个问题,请看跟踪堆栈:
E/AndroidRuntime(2410): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <bitmap> requires a valid src attribute
Run Code Online (Sandbox Code Playgroud)
我的xml文件如下所示:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap android:src="@drawable/btn_1"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
btn_1是可绘制资源中的另一个xml文件当我使用图像(*.png)而不是xml drawable时,它没问题.
我可以使用可绘制资源作为src来进行位图吗?以防万一这是我的btn_1.xml文件.即使btn_1文件没有项目,它也不起作用.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/btn_arrow_bg_red"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/btn_arrow_white" />
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud) 我正在研究相当复杂的xml drawable,我想知道是否有任何工具/插件可以让我预览我的drawable?
我正在寻找类似于可用于布局的"图形布局"选项卡.
例如,如果我有这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="0dp" android:right="0dp">
<shape android:shape="rectangle">
<gradient android:angle="-90" android:startColor="#2B2B2B"
android:endColor="#000000" />
</shape>
</item>
<item android:top="1sp" android:bottom="26sp" >
<shape android:shape="rectangle">
<solid android:color="#10ffffff"/>
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
如何预览形状和渐变?而且我可能在做梦,但有没有任何图形工具可以构建一个可绘制的?
我查看了多个类似的问题,虽然我的查询没有找到正确的答案.
我有一个drawable,在shape.xml中定义
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="@color/bg_color" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我想将其转换为Bitmap对象以执行某些操作,但BitmapFactory.decodeResource()返回null.
这就是我这样做的方式:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.shape);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?是BitmapFactory.decodeResource()适用于XML定义可绘制?
我有这个困难,我的圆角和背景图像LinearLayout.
我知道我可以通过使用形状绘制XML achive圆角,但是如果我把形状绘制作为我的背景LinearLayout有android:background=@drawable/rounded_corner那么我不能将任何图像作为背景.
如何在LinearLayout中同时获得带有背景图像的圆角?任何帮助,将不胜感激.谢谢!
我想要像下面的图像

我尝试使用可绘制的形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="360"
android:centerX="50%"
android:centerY="50%"
android:gradientRadius="50%"
android:endColor="#000000"
android:centerColor="#FFFFFF"
android:startColor="#000000" >
</gradient>
</shape>
Run Code Online (Sandbox Code Playgroud) 我正在尝试用状态按下并选择一个按钮,我已经对标签做了同样的工作,但我不知道为什么这里不起作用.我这样做了:
button_sel.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="@color/azulado"
android:endColor="@color/azulBrillante"
android:angle="270" />
<corners android:radius="@dimen/corner_radius" />
<stroke android:width="2px"
android:color="@color/blanco" />
</shape>
Run Code Online (Sandbox Code Playgroud)
button_unsel.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="@color/botonesD"
android:endColor="@color/botones"
android:angle="270" />
<corners android:radius="@dimen/corner_radius" />
<stroke android:width="2px"
android:color="@color/blanco" />
</shape>
Run Code Online (Sandbox Code Playgroud)
和选择器,button.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_sel"
android:state_selected="true"
android:state_pressed="true"/>
<item android:drawable="@drawable/button_unsel"
android:state_selected="false"
android:state_pressed="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
在这里我将drawable称为背景:
<style name="button">
<item name="android:background">@drawable/button</item>
<item name="android:textSize">@dimen/text_size</item>
<item name="android:padding">@dimen/padding_button</item>
<item name="android:textColor">@color/blanco</item>
</style>
Run Code Online (Sandbox Code Playgroud)
谢谢!!!!
我想为linearLayout创建一个边框.所以我决定创造一个形状.我希望边框有一个渐变.以下不是这样做的.它填充矩形,然后创建笔画.我不想要一个填充的矩形,只需要一个笔画.我想将渐变应用于笔画.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="360"
android:centerColor="#e95a22"
android:endColor="#ff00b5"
android:gradientRadius="360"
android:startColor="#006386"
android:type="sweep" />
<stroke
android:width="2dp"
android:color="#ff207d94" />
</shape>
Run Code Online (Sandbox Code Playgroud) 以下是虚线,在XML中定义为ShapeDrawable:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<size
android:height="2dp"
android:width="700dp" />
<stroke
android:width="1dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
这将在几个姜饼手机上绘制一个漂亮的虚线.然而,在Galaxy Nexus上,破折号似乎被忽略,并且形状被绘制为连续的线.更奇怪的是,运行ICS的仿真器将使用破折号正确渲染它,它只是物理设备搞砸了.
我错过了一些明显的东西吗 或者这真的是Android 4.0的错误吗?这条线在几个地方使用.以下是ImageView的示例:
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/observation_observe_side_margin"
android:layout_marginRight="@dimen/observation_observe_side_margin"
android:layout_marginTop="16dp"
android:contentDescription="@string/dotted_line_description"
android:src="@drawable/dotted_line" />
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我使用XML定义的垂直虚线.
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="90">
<shape
android:shape="line">
<stroke
android:width="1dp"
android:color="@color/light_gray"
android:dashWidth="2dp"
android:dashGap="4dp"
/>
</shape>
Run Code Online (Sandbox Code Playgroud)
当我在Android Studio中挑选我的布局时,线条会正确地呈现点状,但是当我在真实设备上运行应用程序时出现问题.这条线很稳固,没有间隙.你知道问题出在哪里吗?我尝试了很多不同的设备,包括那些运行最新4.3 Android的设备.它看起来无处不在:/
android ×10
xml-drawable ×10
bitmap ×1
button ×1
dotted-line ×1
drawable ×1
layer-list ×1
styles ×1