我正在尝试创建绿色形状,并在绿色形状之上添加文本和图像。像这个例子:
我在photoshop中创建了此示例,并尝试将其用作<ImageView>
,但是图像始终看起来很模糊,因此,我决定使用.xml
我知道如何创建一个圆,像这样:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="1.9"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="10dp"
android:color="@android:color/white" />
</shape>
谢谢
答案 0 :(得分:2)
您有几种选择,但如果我对您的理解正确,那么您希望有一个_execute_sidebar_action
可以填满整个屏幕,除了显示图片外还显示一些文字,最后要具有弯曲的背景。
要实现这一目标,可以创建自View
(或如View
的Android Studio推荐)扩展的自定义ImageView
。从android.support.v7.widget.AppCompatImageView
扩展意味着我们必须照顾好背景和文本,处理图片将没有问题。
IMO,最好是给自定义ImageView
一组参数,并使用Path
来绘制背景,而不是使用View
,因为这样可以先评估{ {1}}的边界,然后确定应该在哪里绘制曲线。
首先,让我们在res / values / dimens.xml中引入一些尺寸值
ShapeDrawable
然后,活动布局:
View
以及它的外观(我确定文本需要一些微调,但这是另一个问题)
ClippedCircleView.java
<dimen name="clipped_circle_deviation">100dp</dimen>
<dimen name="clipped_circle_padding_top">60dp</dimen>
答案 1 :(得分:1)
除了将其转换为bitmap
然后再编写文本外,无法直接在可绘制形状中编写文本。如果您确实想使用Drawable
创建它,则应该使用Adobe Illustrator进行创建并将其导出为svg
。然后可以将svg
导入为 Android Vector Drawable (文件->新建->向量资产->本地文件-> ...)。