在Android UI中添加圈子?

时间:2014-07-10 16:09:46

标签: android android-layout android-activity android-xml nine-patch

我正在开发一个Android应用程序,但它看起来很简单,因为它只有活动上的文字。我想知道如何在UI中添加一些元素,具体来说,我是如何添加一个圆形的形状,它将被包裹在TextView中。这是我想做的事情的一个例子......  Screenshot

所以我的问题是,如何将形状添加到将围绕TextViews的Android布局中?我试过研究这个话题,但是没有多少运气。所以任何教会我如何做到这一点的资源也会有所帮助。此外,如果您知道如何添加此页面的其他元素,例如左侧24米以下的线条和指向图标的蓝色指针,那么这也会有所帮助。我想学习设计一个令用户满意的漂亮界面的一切。谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

您想要执行所需操作的一般步骤是将背景应用于父布局,然后将textview作为子视图添加到该视图中。

对于简单的形状,请阅读XML drawables: https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

首先创建一个名为circle的XML文件并放在res / drawable

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    >

    <size
        android:width="100dp"
        android:height="100dp" />
    <stroke
        android:width="2dp"
        android:color="#CC0000"
        />

</shape>

然后创建您的布局文件并将其放入其中:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:background="@drawable/circle">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="I'm in a circle!"
        android:layout_gravity="center"
        />
</FrameLayout>

您可以在TextView上放置背景,但您可能会获得更多控制权,将其应用于父视图。