首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建环形(圆形) ShapeDrawable

如何创建环形(圆形) ShapeDrawable
EN

Stack Overflow用户
提问于 2019-10-08 22:13:24
回答 2查看 41关注 0票数 0

我需要在ImageView上设置一个圆形

这是我到目前为止尝试过的:

代码语言:javascript
复制
float[] outerR = new float[]{8, 8, 8, 8, 8, 8, 8, 8};
 RoundRectShape roundrect = new RoundRectShape(outerR, null, null);
 ShapeDrawable drawable = new ShapeDrawable(roundrect);

这提供了一个椭圆形。我需要一个圆形的。如何解决这个问题?Thx

EN

回答 2

Stack Overflow用户

发布于 2019-10-08 22:36:50

首先,在drawable文件夹中的res目录中创建一个xml drawable文件。然后将以下代码粘贴到该xml文件中:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

   <solid 
       android:color="#666666"/>

   <size 
       android:width="50dp"
        android:height="50dp"/>
</shape>

并将此drawable设置为textViewbackground。是的,这会解决你的问题。

票数 0
EN

Stack Overflow用户

发布于 2019-10-08 22:38:48

你可以通过这样做来实现。

代码语言:javascript
复制
     <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ImageView
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:src="@drawable/ic_email_black_24dp"/>

        <TextView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="end"
            android:gravity="center"
            android:background="@drawable/bg_circle"
            android:text="5"
            android:textColor="@android:color/white"/>
    </FrameLayout>

bg_circle

代码语言:javascript
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid android:color="@android:color/holo_red_dark"/>

    <size android:height="10dp"
        android:width="10dp"/>

    <corners android:radius="10dp"/>

</shape>

这样,您将获得相同的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58288161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档