标签: xml-drawable

Android:如何制作可绘制选择器

我觉得这是一个愚蠢的问题,但我仍然在这里.我有一个图像按钮,我希望每次点击它都能更改它的图像.API似乎表示,最好的方法是在包含选择器和值的drawable文件夹中创建xml资源.然而,当我去创建一个新的android xml资源时,drawables没有选项.我错过了什么?

android selector xml-drawable

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

在运行时更改形状边框颜色

我在drawable文件夹中有这个形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dp" />
    <solid android:color="#ffffff" />
    <stroke android:width="2dp" android:color="#B5B5B5"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

这定义了一个带圆角的矩形,我可以将它作为背景应用于任何面板,如:android:background ="@ drawable/round_corner_shape".

问题就出现了:我的应用程序中有几个面板,形状与背景相同,但对于每个形状,我想要一个不同的边框(笔触)颜色.我不想创建3个形状,唯一的区别在于笔触颜色.是否可以在运行时更改行程值?

android xml-drawable

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

带有边框颜色的圆角

我使用以下代码来获得圆角和彩色轮廓:

<?xml version="1.0" encoding="UTF-8"?> 
Run Code Online (Sandbox Code Playgroud)

<gradient 
    android:startColor="@color/white" 
    android:endColor="@color/white" /> 

<corners 
    android:bottomRightRadius="2dp" 
    android:bottomLeftRadius="2dp" 
    android:topLeftRadius="2dp" 
    android:topRightRadius="2dp"/> 

<stroke
    android:width="5dip"
    android:color="@color/black" />
Run Code Online (Sandbox Code Playgroud)

带有边框颜色的圆角

图像显示我现在正在获取的内容.由于这个原因stroke,圆角仅位于布局的外边缘上,黑色轮廓的内边缘形成具有锐边的矩形.如何将锐边转换为圆角?

android xml-drawable

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

如何在android中为drawable添加阴影效果

在此输入图像描述我用drawable创建了聊天气泡看起来很好,现在我想在drawable下面添加阴影效果,这样就可以产生3d效果.我不想使用9-pitch图像.我只是想知道如何在这个drawable上添加阴影效果.我的代码是

---- right_bubble_chat_drawable

 <?xml version="1.0" encoding="utf-8"?>
 <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:radius="15dp" />

        <solid android:color="@color/chatrightbubbleColor" />

        <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />

        <size
            android:height="@dimen/normal_button_height"
            android:width="@dimen/normal_button_width" />
Run Code Online (Sandbox Code Playgroud)

---用于角落指针'chat_laftarraow'

  <?xml version="1.0" encoding="utf-8"?>
   <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item >
     <rotate
        android:fromDegrees="90"
        android:toDegrees="-90"
        android:pivotX="50%"
        android:pivotY="50%" >
    <rotate
        android:fromDegrees="45"
        android:toDegrees="45"
        android:pivotX="-40%"
        android:pivotY="86%" >
        <shape
            android:shape="rectangle"  >
            <stroke android:color="#00aaef" android:width="1dp"/>
            <solid
                android:color="#00aaef"  />

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

-------我正在使用它们

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
   <View
    android:id="@+id/left_chatArror"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_alignParentRight="true"
    android:layout_marginTop="6dp"
    android:background="@drawable/chat_laftarraow"/>

<RelativeLayout

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxWidth="220dp" …
Run Code Online (Sandbox Code Playgroud)

android xml-drawable shapedrawable android-drawable

19
推荐指数
2
解决办法
5万
查看次数

Android圆形进度条带圆角

我想要一个带圆角的圆形进度条,如下所示. 在此输入图像描述

但到目前为止,我无法获得圆角,因此我可以获得圆形进度条. 在此输入图像描述

我试图使用xml drawable绘制它.

 <ProgressBar
                android:id="@+id/onboarding_activity_progress_bar"
                android:layout_gravity="center"
                android:padding="10dp"
                android:layout_width="120dp"
                android:layout_height="120dp"
                style="?android:attr/progressBarStyleHorizontal"
                android:progressDrawable="@drawable/progressbar_onboarding_view"
                tools:progress="60"/>
Run Code Online (Sandbox Code Playgroud)

Progressbar_onboarding_view.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape android:useLevel="false"
               android:innerRadiusRatio="2.0"
               android:shape="ring"
               android:thickness="10dp">
            <solid android:color="@color/progress_bar_background_color" />
            <corners android:radius="50dp"/>
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <shape
              xmlns:android="http://schemas.android.com/apk/res/android"
              android:useLevel="true"
              android:innerRadiusRatio="2.0"
              android:shape="ring"
              android:thickness="10dp">
            <solid android:color="@color/progress_bar_color" />
        </shape>
        <!--
        <scale
              android:drawable="@drawable/progressbar_round_corner"
              android:scaleWidth="98%" /> -->
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

progressbar_rounded_corner.xml

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

   <corners
         android:radius="10dp"/>

   <solid android:color="@android:color/white" />

   <stroke
         android:width="1dp"
         android:color="@android:color/holo_red_dark" />

</shape>
Run Code Online (Sandbox Code Playgroud)

我尝试使用scale参数,但进度角没有改变.我不确定如何实现圆角.请帮助我真的很感激.

android xml-drawable android-drawable

19
推荐指数
3
解决办法
7099
查看次数

Android工具为按钮生成选择器xml

我想知道是否有人知道为自定义按钮生成xml选择器文件的工具.我有点累了创建按钮,将它们转换为.9.png文件,然后在xml中复制和粘贴自定义选择器...

我知道这些工具:

http://www.androidicongenerator.net/

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

因为它们在生成资源/资源方面很方便,我想念选择4个图像并生成一个随时可用的选择器xml,它输出如下内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- pressed -->
    <item android:state_pressed="true" android:background="@drawable/img_pressed" />
    <!-- focused -->
    <item android:state_focused="true" android:background="@drawable/img_focussed" />
    <!-- default -->
    <item android:background="@drawable/img_default" />
</selector>
Run Code Online (Sandbox Code Playgroud)

我在考虑自己创造一个,但不敢相信没有人已经做过:)

谢谢

android xml-drawable

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

如何从多个图像中制作绘图?

我有三个9补丁PNG,它们组成了按钮的背景(左侧,中间,右侧).我想将这三个图像组合在一个drawable中,我可以将其指定为XML中按钮的背景,类似于:

res/drawable/button_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/button_left_side" />

<nine-patch android:src="@drawable/button_middle" />

<nine-patch android:src="@drawable/button_right_side" />
Run Code Online (Sandbox Code Playgroud)

res/layout/main.xml:

<button android:background="@drawable/button_background" />
Run Code Online (Sandbox Code Playgroud)

这可能吗?

android xml-drawable

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

有光泽的渐变与android drawable xml

我试图将一个有光泽的xml可绘制渐变作为布局的背景.我已经在使用开始颜色和最终颜色枯燥的线性渐变.

<item>
    <shape>
        <gradient
            android:angle="90"
            android:startColor="#242424"
            android:endColor="#4e4e4e"
            android:type="linear" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

有没有办法控制其流量范围?请一些帮助.

编辑:

好吧,我做了一个小方法来获得一个漂亮的光滑外观标题栏,

线性布局(带有渐变 - 可绘制背景,分别指定所有开始和结束颜色值)这是图标,(我使用带有透明BG的图像按钮),并在此另一个相对布局(可能是可绘制渐变或固定的灰色 - 用于光泽度 - android:background ="#20f0f0f0")这里20定义了Alpha值.

PS,这可能不是一个正确的解决方法,但我对此非常满意,因为与9个补丁PNG文件相比,根据客户需求切换主题要快得多(嘿,BTW这只是我对它的意见)

这个链接对此非常有用,

android drawable android-layout xml-drawable

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

在3个方面在drawable xml的android视图上创建边框?

我想为我的Android按钮制作一个drawable,定义为drawable.我发现我可以通过使用一个矩形来设置所有边框,但是当我想要三面时,我有点卡住了.我希望例如打开顶部或底部.

谁能告诉我怎么做?

android styles xml-drawable shapedrawable

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

在Shape Drawable中无法识别颜色状态列表

我定义了以下drawable my_background_drawable.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:gravity="center"
            android:shape="rectangle">
            <solid android:color="@color/color_stateful" />
        </shape>
    </item>

    <item android:drawable="@drawable/selector_png_drawable" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

我还定义了以下颜色状态列表资源color_stateful.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:color="#FF00ff00"/>
    <item android:color="#FFff0000"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

当我将my_background_drawable某个视图设置为某个视图的背景时,我无法观察到color_stateful.xml为我的形状定义的颜色的任何变化,而视图状态实际上已更改(selector_png_drawable.xml是指示符).

但是,当我通过my_background_drawable.xml以下方式修改我时,一切都很好:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- This doesn't work
    <item>
        <shape android:gravity="center"
            android:shape="rectangle">
            <solid android:color="@color/color_stateful" />
        </shape>
    </item>
-->
    <item>
        <selector xmlns:android="http://schemas.android.com/apk/res/android">
            <item android:state_pressed="true">
                <shape android:gravity="center"
                    android:shape="rectangle">
                    <solid android:color="#FF00ff00" />
                </shape>
            </item> …
Run Code Online (Sandbox Code Playgroud)

android colors xml-drawable statelistdrawable shapedrawable

12
推荐指数
1
解决办法
5127
查看次数