标签: xml-drawable

设置Android Drawable项目的宽度?

我想要的是背景左边为红色的背景。这样的事情。 在此处输入图片说明

我尝试了很多事情(有没有所见即所得的编辑器?我想我已经运行了数百次。)像下面的文章中那样指定宽度无效。 如何指定可绘制项目的宽度和高度

以下文章仅告诉我不能使用百分比,现在如何应用宽度。 Android Drawable:在XML文件中以百分比形式指定形状宽度?

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

            <shape>
                <solid 
                android:color="#FFFFFFFF"/>
            </shape>

    </item>
    <item>

            <shape android:shape="rectangle">
                <solid android:color="#55FF0000" />
                <size android:width="100px" />
            </shape>

    </item>

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

android xml-drawable

5
推荐指数
1
解决办法
3936
查看次数

带有位图标记的Android XML可绘制圆角

我有下一个XML drawable blue_button

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <layer-list>
      <item><bitmap android:src="@drawable/button_blue_bg" />
      </item>
      <item >
         <shape>
                <corners android:radius="50dip" />
                <stroke android:width="1dip" android:color="#ccffffff" />
                <solid android:color="#00000000" />
                <padding android:bottom="3dip" 
                         android:left="3dip"
                         android:right="3dip"
                         android:top="3dip" />
         </shape>
       </item>
     </layer-list>
  </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

我有图像button_blue_bg与渐变宽度为1px.

当我设置按钮背景时,我得到下一个图像

在此输入图像描述

如你所见,我的背景没有修剪圆角边框.

我如何需要modificate xml背景渐变图像不在边界外?

我明白为什么它会发生,因为我使用图层 - 所以这就像三明治 - 但我也在目标c上编程,并且它也使用图层.但在苹果公司,它很好.

xml android xml-drawable

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

在Drawable中将图像源设置为Bitmap

我在可绘制文件夹中创建了 XML 文件,代码如下:

XML 名称是:background_bitmap_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:src="@drawable/background"
android:tileMode="disabled" />
Run Code Online (Sandbox Code Playgroud)

现在,我想动态地将图像设置到这个 xml 文件中[通过代码]。

我正在制作一个应用程序,其中我必须在每个活动中设置不同的背景,并且这些图像来自在线。

我没有找到任何解决方案将图像 src 设置为该 xml 文件作为位图。

不过,我还有另一种选择来将背景设置为根布局,如下所示:

bitmap = BitmapFactory.decodeFile(FILE_PATH + "/" + SettingsScreen.BACKGROUND_IMAGE);
d = new BitmapDrawable(cntx.getResources(), bitmap);

但我需要将图像资源设置为上述 XML 文件,以便在尺寸远小于设备尺寸时图像不会被拉伸。

将图像资源设置为 xml 文件有帮助吗?

layout android bitmap drawable xml-drawable

5
推荐指数
1
解决办法
4828
查看次数

如何从缩放中防止android层可绘制形状(例如圆圈)

我尝试使用XML layer-list drawable创建一个简单的插图.
我有两个形状,一个圆形和一个矩形
我想要一个不按比例的圆圈.
以下是布局:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

    <ImageView
        android:layout_margin="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/shape5"
        android:layout_gravity="center"
        android:scaleType="center"
        />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是shape5.xml drawable

<?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">
        <shape android:shape="rectangle" android:scaleType="center">
            <stroke android:width="2dp" android:color="@android:color/holo_red_light" />
            <size android:width="200dp" android:height="100dp"/>
        </shape>
    </item>

    <item android:top="10dp" android:left="10dp">
        <shape android:shape="oval" android:gravity="center" android:scaleType="center" >
            <stroke android:width="2dp" android:color="@android:color/holo_blue_light" />
            <corners android:radius="10dp" />
            <size android:width="20dp" android:height="20dp"/>

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

生成的图形如下所示:

渲染活动的屏幕截图

很明显,项目android:top可以完成工作,但没有什么能阻止形状缩放.大小宽度不起作用,android:scaleType ="center"也不起作用.

我快速查看了LayerDrawable.java实现.看起来像在幕后,从项目属性创建插入.所以我想通过计算那些我可以达到结果,我想要的.这是唯一的方法吗?

更新:

根据这个答案,我知道操纵项目的android:top,android:left等,我可以创建一个虚拟插图,可以根据我的需要扩展我的"形状".我查了一遍,这是对的.所以这是一个解决方法.然而,我对它的反直觉感到非常失望.我仍然希望有人能指出我一种简单的方法来禁用缩放.

更新:根据此Google Android文档页面,设置ImageView scaleType应该已禁止缩放.显然在我的情况下,它没有用.缺了点什么.

xml android shape xml-drawable layer-list

5
推荐指数
1
解决办法
5112
查看次数

Android Google Maps Marker:发布了未知的imageData参考

我正在尝试在我的应用中添加对平板电脑的支持,并遇到由此行代码抛出的IllegalArgumentException:

marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.arrow_green_10by19))
Run Code Online (Sandbox Code Playgroud)

方法.fromResource可以从图像文件(png)中使用R.drawable.arrow_green_10by19,但是当用矢量文件arrow_green_10by19.xml(在Android Studio IDE中渲染得很好)替换png时,它会生成如上所述的运行时.

有人知道如何在BitmapDescriptorFactory中实现矢量资源并可以帮助我吗?

谢谢.

svg android bitmapimage google-maps-markers xml-drawable

5
推荐指数
1
解决办法
2486
查看次数

app:srcCompat - Vector drawable出现在设计预览中,但不会显示在应用程序中

绘制/ information.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FF000000"
        android:pathData="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0,0 0,2 12A10,10 0,0 0,12 22A10,10 0,0 0,22 12A10,10 0,0 0,12 2Z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

LayoutofCardView.xml

<ImageView
    android:layout_width="24dp"
    android:background="#f00"
    android:layout_height="24dp"
    android:id="@+id/informationImageView"
    app:srcCompat="@drawable/information"
    tools:src="@drawable/information"
    />
Run Code Online (Sandbox Code Playgroud)

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.company"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        generatedDensities = []

    }
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/NOTICE.txt'
        exclude …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat imageview xml-drawable

5
推荐指数
1
解决办法
2392
查看次数

在XML drawable中使用主题引用需要API级别21

有没有办法使以下代码与较低的API级别兼容:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="?android:attr/selectableItemBackground"/>

    <item android:gravity="bottom">
        <shape android:shape="rectangle">
            <size android:height="1px"/>
            <solid android:color="#ccc"/>
        </shape>
    </item>

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

部分:android:drawable="?android:attr/selectableItemBackground"产生此消息:

在XML drawable中使用主题引用需要API级别21(当前最小值为15)

android android-theme xml-drawable android-api-levels

5
推荐指数
1
解决办法
702
查看次数

如何在Android中创建弯曲的底部边框矩形?

如何使用xml这样创建具有完美弯曲底部的android drawable:

在此处输入图片说明

我已经尝试过这个xml,但是结果并不完美

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#5f9c63"/>

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

    <corners android:bottomRightRadius="100dp"
        android:bottomLeftRadius="100dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

谢谢

android android-xml xml-drawable android-drawable

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

如何在Android drawable中为环形制作圆角

我有一个自定义进度栏,如下所示:

在此处输入图片说明

这是我用来创建它的.xml代码:

background_drawable.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="@dimen/progress_bar_radial_inner_radius"
    android:thickness="@dimen/progress_bar_radial_thickness"
    android:shape="ring"
    android:useLevel="false" >
    <solid android:color="@color/main_color_alpha"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

progress_drawable.xml

<?xml version="1.0" encoding="UTF-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="270"
    android:toDegrees="270">
    <shape
        android:innerRadius="@dimen/progress_bar_radial_inner_radius"
        android:thickness="@dimen/progress_bar_radial_thickness"
        android:shape="ring" >
        <solid android:color="@color/main_color"/>
    </shape>
</rotate>
Run Code Online (Sandbox Code Playgroud)

我想要得到的是我用来显示进度的圆角。看起来像这样的东西:

在此处输入图片说明

有人对如何实现这一目标有任何想法吗?

android drawable android-progressbar xml-drawable android-drawable

5
推荐指数
1
解决办法
1089
查看次数

如何为可绘制线条形状制作圆形虚线或点

有没有一种方法可以使帽子/点变圆,如附图所示?

在此输入图像描述

<shape
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="line">

    <stroke 
    android:width="2dp"
    android:color="@color/grey"
    android:dashWidth="3dp"
    android:dashGap="3dp" />

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

笔记

伙计们,我知道如何制作虚线,我问如何制作“圆角”破折号。!!看看 Adob​​e XD 中的这张图片就知道我的意思了..!

在此输入图像描述

java android android-layout xml-drawable android-drawable

5
推荐指数
1
解决办法
3479
查看次数