Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 绘制部分填充为空的矩形_Android_Draw_Android Progressbar - Fatal编程技术网

Android 绘制部分填充为空的矩形

Android 绘制部分填充为空的矩形,android,draw,android-progressbar,Android,Draw,Android Progressbar,以下是我想做的: 我有一个progressBar,我想把它覆盖在上面,这样我就可以实现圆角。问题是,如果我使用9patch图像,它不会缩小,而放大会使角点像素化。另外,当我增加progressBar的大小时,角看起来不够锐利 所以我想也许在上面画一个这样的长方形会使它有100%的精确性和清晰的质量。不幸的是,我以前从未使用过,也没有类似于我想要实现的教程 谢谢您的帮助。如果您应用了可绘制的形状,您应该能够实现您想要的。您引用它就像引用任何其他可绘制文件一样(android:src/android

以下是我想做的:

我有一个progressBar,我想把它覆盖在上面,这样我就可以实现圆角。问题是,如果我使用9patch图像,它不会缩小,而放大会使角点像素化。另外,当我增加progressBar的大小时,角看起来不够锐利

所以我想也许在上面画一个这样的长方形会使它有100%的精确性和清晰的质量。不幸的是,我以前从未使用过,也没有类似于我想要实现的教程


谢谢您的帮助。

如果您应用了可绘制的形状,您应该能够实现您想要的。您引用它就像引用任何其他可绘制文件一样(android:src/android:background)

让我们将此文件命名为rounded_rect.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
    <corners android:radius="20dp" />
    <solid android:color="#80ffffff" />
</shape>

半径可以大于或小于20dp,如果所拉容器的侧面需要较小的半径才能完全圆整,则半径实际上会缩小;颜色为白色,带有一点透明度(#80)

将其保存到您的drawable文件夹中,并像使用任何png/jpg/etc drawable时一样引用它:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/rounded_rect" />


您尝试过xml形状可绘制吗?如果这意味着创建一个xml,然后在该xml中使用带有标记的png/9patch图像,那么我尝试过。这就是我现在正在使用的。它工作得很好,我已经实现了我想要的,但是,因为我使用的是图像,因为progressbar的高度不超过几个像素(22像素约4-8 dp),所以角不够锐利。我将发布一个可能有助于您理解的答案。在您现在应用9patch的地方,请改为应用可绘制的形状,然后查看它的外观。谢谢巴德,我将很快向您介绍它的工作原理。我尝试了您推荐的方法。而且,形状非常完美,非常脆。现在,有没有一种方法可以把它颠倒过来?我的意思是,我们画一个圆角矩形,但是,我们能画一个倒圆角矩形吗,这样它就可以从一个正方形上去掉那么多的区域,我就可以得到像在主帖子中共享的图像一样的东西?请看这个:这就是我想要实现的。