我想要的是背景左边为红色的背景。这样的事情。

我尝试了很多事情(有没有所见即所得的编辑器?我想我已经运行了数百次。)像下面的文章中那样指定宽度无效。 如何指定可绘制项目的宽度和高度
以下文章仅告诉我不能使用百分比,现在如何应用宽度。 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) 我有下一个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 文件,代码如下:
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 文件有帮助吗?
我尝试使用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应该已禁止缩放.显然在我的情况下,它没有用.缺了点什么.
我正在尝试在我的应用中添加对平板电脑的支持,并遇到由此行代码抛出的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中实现矢量资源并可以帮助我吗?
谢谢.
绘制/ 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) 有没有办法使以下代码与较低的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)
如何使用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)
任何的想法 ?
谢谢
我有一个自定义进度栏,如下所示:
这是我用来创建它的.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
有没有一种方法可以使帽子/点变圆,如附图所示?
<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)
伙计们,我知道如何制作虚线,我问如何制作“圆角”破折号。!!看看 Adobe XD 中的这张图片就知道我的意思了..!
android ×10
xml-drawable ×10
drawable ×2
xml ×2
android-xml ×1
bitmap ×1
bitmapimage ×1
imageview ×1
java ×1
layer-list ×1
layout ×1
shape ×1
svg ×1