标签: layer-list

具有底部笔划的android形状

我需要创建一个android形状,以便只有底部有笔画(虚线).当我尝试以下操作时,笔划将形状从中心平分.有谁知道怎么做对吗?中风需要是底线/边界.我使用形状作为TextView的背景.请不要在意我为什么需要它.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#1bd4f6" />
        </shape>
    </item>

    <item>
        <shape android:shape="line" >
            <padding android:bottom="1dp" />

            <stroke
                android:dashGap="10px"
                android:dashWidth="10px"
                android:width="1dp"
                android:color="#ababb2" />
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

android layer-list android-drawable android-styles

111
推荐指数
9
解决办法
16万
查看次数

如何在不进行缩放的情况下将图层列表中的矢量绘图居中

我试图VectorDrawableLayerList没有缩放矢量的情况下使用a .例如:

<layer-list>
    <item android:drawable="@color/grid_item_activated"/>
    <item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

drawable ic_check_white_48dpid定义为:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="48dp"
        android:height="48dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FFFFFFFF"
        android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

所需的效果是检查图标在图层可绘制的中心,而不进行缩放.问题是,上面的图层列表会导致检查图标缩放以适合图层大小.

如果我用每个密度的PNG替换矢量drawable并修改图层列表,我可以产生所需的效果:

<layer-list>
    <item android:drawable="@color/grid_item_activated"/>
    <item>
        <bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

我有什么方法可以使用VectorDrawable

android layer-list android-drawable android-vectordrawable

87
推荐指数
4
解决办法
3万
查看次数

setBackgroundResource()丢弃我的XML布局属性

我有一个视图,用作一个项目ListView.在我的自定义适配器中,我View.setBackgroundResource()根据项目在列表中的位置更改视图的背景.(我对列表中的第一个和最后一个项目有单独的资产.)

这会按预期设置正确的背景图像,但它具有令人讨厌的副作用,即我在视图的XML定义中设置的所有填充都被完全忽略.

(如果我在XML中设置了可绘制的背景,并且在运行时不要尝试在适配器中改变它,那么填充一切正常.)

如何更改背景图像并保留填充?这是一个错误吗?

编辑似乎其他人在这里发现了同样的问题:更改背景是否也改变了LinearLayout的填充?

android background padding drawable layer-list

69
推荐指数
4
解决办法
2万
查看次数

了解Android的<layer-list>

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

我的suares
(错误的颜色无关紧要)
正如您所看到的那样,尺寸完全错误并且缺少填充.我试图设置像宽度/高度和右/左/顶部/按钮的实际值,以确保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)

android xml-drawable layer-list android-drawable

56
推荐指数
2
解决办法
9万
查看次数

使用图层列表显示一些可绘制的图像

Android studio 2.0 Preview 3b

你好,

我创建了以下布局,我想用它作为我的应用程序的背景.我正在使用layer-list,我想在两个地方展示一碗豌豆.在预览中一切看起来都不错,但是当我在genymotion或一些廉价的中国设备上运行时,图像会在屏幕上延伸.但是,在Android AVD上,一切看起来都不错,在我的Nexus 5(真实设备)上一切正常.

这就是我想要的,这就是它在AVD和Nexus 5中的显示方式.你可以看到没有问题.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:centerX="0.5"
                android:centerY="0.3"
                android:endColor="#08e25b"
                android:gradientRadius="300dp"
                android:startColor="#b7e9c9"
                android:type="radial" />
        </shape>
    </item>

    <item
        android:width="48dp"
        android:height="48dp"
        android:left="350dp"
        android:top="400dp">
        <bitmap android:src="@drawable/peas" />
    </item>

    <item
        android:width="68dp"
        android:height="68dp"
        android:drawable="@drawable/peas"
        android:left="-20dp"
        android:top="480dp" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

我已将peas.png文件放入drawable-nodpi,只需添加宽度和高度layer-list

当我运行genymotion和一些便宜的智能设备时,我得到以下内容: 在此输入图像描述

Just quick summary.

Nexus 5 real device and AVD devices works ok
Genymotion and cheap smart devices doesn't display correctly
Run Code Online (Sandbox Code Playgroud)

我对我应该相信的事感到困惑.我也尝试使用位图来查看是否会产生任何影响.

非常感谢任何建议.

android drawable layer-list android-drawable genymotion

27
推荐指数
2
解决办法
3万
查看次数

可绘制图层列表中的Android文本

这是我的启动画面.我正在使用一个组装我的背景layer-list.如何将文本添加到图层列表?

android android-layout layer-list android-drawable

26
推荐指数
1
解决办法
1万
查看次数

如何将填充添加到位图和图层列表中的颜色

我需要创建一个带有图层列表的drawable,使得背景图层是图像,前景是透明颜色.我能够做到这一点.我没有成功的地方是添加一些填充/边距,以便在它们底部显示一段图像,而顶部没有彩色图层.这是我的xml.谢谢你的帮助.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <bitmap android:src="@drawable/img1" 
        />
  </item>

  <item>
    <shape
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle" >
      <solid android:color="@color/color1" />
      <padding android:bottom="20dp" />
    </shape>
  </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

由于此配置不起作用,我的猜测是将填充放在第一层.但我不知道如何用位图做到这一点

android bitmap shape android-layout layer-list

25
推荐指数
4
解决办法
2万
查看次数

Android-在shape标签中使用useLevel

android shape xml标签useLevel属性的目的是什么?这与图层列表有关,但无关紧要.从文档我发现useLevel标记的meanging:

指示drawable的级别是否影响绘制渐变的方式.

所以如果我有以下xml片段:

    <?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="15dp"
    android:thickness="10dp"
    android:useLevel="false">

    <solid android:color="#ababf2" />

    <size
        android:height="50dp"
        android:width="50dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

然后使用useLevel = true,禁用戒指.戒指出现必定为假.但是这个属性的目的是什么?文档不清楚.

xml android layer-list android-drawable

20
推荐指数
1
解决办法
6711
查看次数

android,background,layer-list和可伸缩位图项

我有以下drawable set作为背景:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">

<item>
  <bitmap android:src="@drawable/base_bg"
    android:gravity="bottom" />
</item>
<item android:top="10dp" android:left="10dp">
  <bitmap android:src="@drawable/decoration1"
    android:gravity="top|right" 
    android:width="25dp" 
    android:height="25dp"  />
</item>
<item android:top="10dp" android:left="10dp">
  <bitmap android:src="@drawable/decoration2"
    android:gravity="top|right" 
    android:width="25dp" 
    android:height="25dp" 
    />
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

它显示所有位图(base_bg,decoration1decoration2),但我找不到修改它们大小的方法.我想拥有主要背景,并在其上面根据dpi具有不同尺寸的装饰.有没有一种简单的方法可以做到这一点,或者我真的必须为不同的dpi有一堆"装饰"?这不好,我想改为scale/resize选项!

android:widthandroid:height属性的东西,我想了解,但我知道,这是行不通的.目前我正在为不同的DPI使用不同的版本,但希望它可以更加用户友好.

android background bitmap layer-list

15
推荐指数
1
解决办法
3万
查看次数

在棒棒糖前的图层列表中调整大小不正确的项目

我有一个图层列表

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:right="2dp" android:left="2dp" android:bottom="2dp" android:top="2dp">
    <bitmap
        android:gravity="center"
        android:src="@drawable/ic_menu_alert"/>
</item>

<item android:height="10dp" android:width="10dp" android:gravity="right|top">
    <shape android:shape="oval">
        <size android:height="10dp" android:width="10dp"/>
        <solid android:color="@color/navigation_drawer_notification_red_color"/>
    </shape>
</item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

显示这个图像

图片

在棒棒糖及以上一切都很好,但在前棒棒糖红圈失去所有尺寸和填充属性和图像看起来像这样

在此输入图像描述

我正在寻找解决方案大约3天,一无所获.我试图制作我自己的工具栏布局并设置为此imagebuuton scaleType ="centerInside",但它没有帮助.有人可以帮忙解决这个问题吗?

提前致谢!

layout android drawable layer-list

15
推荐指数
1
解决办法
3501
查看次数