Android 绘制部分填充为空的矩形
以下是我想做的: 我有一个progressBar,我想把它覆盖在上面,这样我就可以实现圆角。问题是,如果我使用9patch图像,它不会缩小,而放大会使角点像素化。另外,当我增加progressBar的大小时,角看起来不够锐利 所以我想也许在上面画一个这样的长方形会使它有100%的精确性和清晰的质量。不幸的是,我以前从未使用过,也没有类似于我想要实现的教程Android 绘制部分填充为空的矩形,android,draw,android-progressbar,Android,Draw,Android Progressbar,以下是我想做的: 我有一个progressBar,我想把它覆盖在上面,这样我就可以实现圆角。问题是,如果我使用9patch图像,它不会缩小,而放大会使角点像素化。另外,当我增加progressBar的大小时,角看起来不够锐利 所以我想也许在上面画一个这样的长方形会使它有100%的精确性和清晰的质量。不幸的是,我以前从未使用过,也没有类似于我想要实现的教程 谢谢您的帮助。如果您应用了可绘制的形状,您应该能够实现您想要的。您引用它就像引用任何其他可绘制文件一样(android:src/android
谢谢您的帮助。如果您应用了可绘制的形状,您应该能够实现您想要的。您引用它就像引用任何其他可绘制文件一样(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的地方,请改为应用可绘制的形状,然后查看它的外观。谢谢巴德,我将很快向您介绍它的工作原理。我尝试了您推荐的方法。而且,形状非常完美,非常脆。现在,有没有一种方法可以把它颠倒过来?我的意思是,我们画一个圆角矩形,但是,我们能画一个倒圆角矩形吗,这样它就可以从一个正方形上去掉那么多的区域,我就可以得到像在主帖子中共享的图像一样的东西?请看这个:这就是我想要实现的。