Java 不同宽度的android边框
我正在尝试制作ImageView的边框,例如25%蓝色/粗体和75%灰色/薄。让我们这样说: 要获得简单的边框,我正在使用:Java 不同宽度的android边框,java,android,colors,border,Java,Android,Colors,Border,我正在尝试制作ImageView的边框,例如25%蓝色/粗体和75%灰色/薄。让我们这样说: 要获得简单的边框,我正在使用: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <stroke android:width="1dp" android:color=&
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke android:width="1dp"
android:color="#A7A9AC"/>
</shape>
什么东西只给我灰色/薄的边框
但如何实现上述示例?可能应该在Java部分中完成,因为边界百分比是可变的,所以必须动态完成。有人建议我创建自定义形状类,并使用ShapeDrawable。但我不知道怎么做。有什么想法或例子吗?我正在研究一个类似的问题,我想这会有帮助: 只需更改边框的颜色、删除文本并禁用动画,就可以得到所需的内容 编辑: 像这样的
<FrameLayout
android:layout_width="100dp"
android:layout_height="100dp">
<com.philjay.circledisplay.CircleDisplay
android:layout_width="100dp"
android:layout_height="100dp"/>
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"/>
</FrameLayout>
当然,(com.philjay.circledisplay.circledisplay)取决于放置类的路径
如果图像不总是圆形,您可以使用此库:
我认为这可能不适用于shape,但需要使用png文件。或者可以使用elevation,但它需要android 5.0+运行时。我支持15+lvl API。你对使用png文件有什么想法?考虑到蓝色和灰色边框的百分比是动态的(可以随时更改)。只有圆形和灰色部分使用png,并像原始一样在圆形上绘制蓝色部分,但我不知道如何仅绘制部分边框。这就是问题所在。代码非常简洁,但我仍然无法确定如何将此自定义视图设置为ImageView背景。如果您的图像始终是圆形,则可以将两个视图放在框架布局中,并将ImageView设置为较小的大小(高度、宽度)。我会用一些代码编辑答案谢谢你。你的答案并不完全正确,但找到合适的解决方案至关重要。在CircleDisplay类中,圆圈的中间部分仅被白色圆圈覆盖,它不起作用,因为正如我所附的图片所示,边框的蓝色部分部分位于我的ImageView(圆圈)内部,部分位于外部。因此,我发现我需要切掉圆圈的中间部分,这个主题对此很有帮助:然后我使用了u建议的FrameLayout。再次感谢你。