Android布局 - 弧形按钮

时间:2015-04-14 06:22:16

标签: android xml android-layout

我想为这个应用制作一个这样的主页。问题是我没有得到我想要的完美曲线,而且这在其他屏幕上也不起作用。这是我用过的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/Background"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<LinearLayout
    android:orientation="horizontal"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout3"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="5dp">
    <TextView
        android:text="Mind and Wellness"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/textView1"
        android:textColor="#ff3e4095"
        android:textColorHighlight="#ffffffff" />
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="35dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="1.5" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="2">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/buttonx"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Find a Solution"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="12dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="3" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="2">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Tips and Research"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="12dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="4.5" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="1.5">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Mtyhs and Facts"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="12dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="6" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="1.5">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Assesments"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="12dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="7.5" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="1.5">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Distress"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/linearLayout1"
    android:layout_marginTop="12dp">
    <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/space1"
        android:layout_weight="9" />
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/linearLayout2"
        android:layout_weight="2">
        <Button
            android:id="@+id/button1"
            android:background="@drawable/button5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="Articles"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:id="@+id/textView1"
            android:textColor="#ff3e4095"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>

以下是主页的链接Image 我希望Image

的布局

1 个答案:

答案 0 :(得分:0)

你使用太多的视图和线性布局,这不是很好的UI设计,     虽然你可以替换你的&#34;按钮和TextView&#34;使用单个TextView。

因此您可以尝试此布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Find a solution" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="45dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Tips &amp; Research" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="75dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Myths &amp; Facts" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="95dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Assesments" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="110dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Distress" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="115dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="top"
        android:text="Articles" />

</LinearLayout>

此布局几乎与您的布局相比,线性布局和其他视图的数量较少。

我希望这能以某种方式帮助你。