android - 我怎样才能在android中创建像iphone设置这样的 View ?

标签 android android-layout

我想在 Android 上创建一个类似 iPhone 设置的 View 。

这是一张图片作为例子

enter image description here

最佳答案

使用 XML 文件创建圆角矩形形状。并将该 xml 文件作为不同布局的背景,如RelativeLayout、LinearLayout 等。

例如: borderframe.xml 文件

    <?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="1dip" android:color="#A6A6A6" />
    <solid 

        android:color="#ffffff"
        android:paddingLeft="5dip"
        android:paddingTop="5dip"/>

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

    <padding 

        android:top="10dip" 

        android:bottom="10dip" /> 
</shape>

将此xml文件放入drawable目录并将其设置为Any布局的背景。 如下:
只需复制粘贴此布局文件即可得到解决方案。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <!-- Header Part Start -->
    <RelativeLayout  android:id="@+id/headerPart" android:layout_height="45dp" android:layout_width="fill_parent"
        android:layout_alignParentTop="true" android:background="@drawable/header_gradient">

        <TextView android:id="@+id/header" android:text="Bill"
            android:textColor="#ffffff" android:textStyle="bold"
            android:textSize="20dp" android:layout_centerInParent="true"
            android:layout_width="wrap_content" android:layout_height="wrap_content"/>

    </RelativeLayout>
    <!-- Header Part Finish -->


    <RelativeLayout android:layout_below="@+id/headerPart" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_marginBottom="55dp">


        <RelativeLayout android:id="@+id/firstBorderLayout"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:layout_marginLeft="20dp" android:layout_marginRight="20dp" 
            android:layout_marginTop="30dp" android:background="@drawable/borderframe">

            <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" 
                android:gravity="center_horizontal"
                android:layout_height="wrap_content" android:stretchColumns="1">     

                <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" 
                    android:layout_height="wrap_content" android:layout_gravity="center_vertical">       


                    <TextView android:id="@+id/totalAmoutHeading" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right"
                        android:layout_height="wrap_content" android:text="Total" android:layout_marginRight="10dp"
                        android:textSize="18dp" android:textColor="#A8A8A8"/>     

                    <TextView android:id="@+id/totalAmountValue" android:layout_width="wrap_content" android:layout_marginLeft="10dp"
                        android:layout_marginRight="30dp" android:layout_gravity="center_vertical|left"
                        android:textSize="18dp" android:textColor="#000000"
                        android:layout_height="wrap_content" android:text=" $00.00"/>
                </TableRow>     

                <TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" android:layout_gravity="center_vertical">       

                    <TextView android:id="@+id/percentageTipsAmountHeading" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right"
                        android:layout_height="wrap_content" android:text="% TIP" android:layout_marginRight="10dp"
                        android:textSize="18dp" android:textColor="#A8A8A8"/>

                    <TextView android:id="@+id/percentageTipsAmountValue" android:layout_width="wrap_content" android:layout_marginLeft="10dp"
                        android:layout_marginRight="30dp" android:layout_gravity="center_vertical|left"
                        android:textSize="18dp" android:textColor="#000000"
                        android:layout_height="wrap_content" android:text="$00.00"/>
                </TableRow>   

                <View        
                    android:layout_height="2dip"
                    android:background="#FF909090"
                    android:layout_marginBottom="3dp"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="3dp" />
                <TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" android:layout_gravity="center_vertical">       

                    <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right"
                        android:layout_height="wrap_content" android:text="Grand Total" android:layout_marginRight="10dp"
                        android:textSize="18dp" android:textColor="#656565" android:textStyle="bold"/>

                    <TextView android:id="@+id/grantTotalValue" android:layout_width="wrap_content" android:layout_marginLeft="10dp"
                        android:layout_marginRight="30dp" android:layout_gravity="center_vertical|left" 
                        android:textSize="18dp" android:textColor="#000000" android:textStyle="bold"
                        android:layout_height="wrap_content" android:text="$00.00"/>
                </TableRow>

            </TableLayout> 

        </RelativeLayout>

        <!-- Second Border Frame -->
        <RelativeLayout android:id="@+id/secondBorderLayout" android:layout_below="@+id/firstBorderLayout"
            android:layout_height="wrap_content" android:layout_width="fill_parent"
            android:layout_marginLeft="20dp" android:layout_marginRight="20dp" 
            android:layout_marginTop="30dp" android:background="@drawable/borderframe">

            <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" 
                android:gravity="center_horizontal"
                android:layout_height="wrap_content" android:stretchColumns="1">     

                <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" 
                    android:layout_height="wrap_content" android:layout_gravity="center_vertical">       


                    <TextView android:id="@+id/taxAndTipsByPartySizeHeading" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right"
                        android:layout_height="wrap_content" android:text="Tax and Tip / 2" android:layout_marginRight="10dp"
                        android:textSize="18dp" android:textColor="#A8A8A8"/>     

                    <TextView android:id="@+id/taxAndTipsByPartySizeValue" android:layout_width="wrap_content" android:layout_marginLeft="10dp"
                        android:layout_marginRight="30dp" android:layout_gravity="center_vertical|left"
                        android:textSize="18dp" android:textColor="#000000" android:paddingRight="5dp"
                        android:layout_height="wrap_content" android:text=" $00.00"/>
                </TableRow>     

                <View        
                    android:layout_height="2dip"
                    android:background="#FF909090"
                    android:layout_marginBottom="3dp"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginTop="3dp" />
                <TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" android:layout_gravity="center_vertical">       

                    <TextView android:id="@+id/grantTotalByPartySizeHeading" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right"
                        android:layout_height="wrap_content" android:text="Grand Total / 2" android:layout_marginRight="10dp"
                        android:textSize="18dp" android:textColor="#656565" android:textStyle="bold"/>

                    <TextView android:id="@+id/grantTotalByPartySizeValue" android:layout_width="wrap_content" android:layout_marginLeft="10dp"
                        android:layout_marginRight="30dp" android:layout_gravity="center_vertical|left"
                        android:textSize="18dp" android:textColor="#000000" android:textStyle="bold"
                        android:layout_height="wrap_content" android:text="$00.00"/>
                </TableRow>

            </TableLayout> 

        </RelativeLayout>

        <!-- Bottom Continue Start -->
        <RelativeLayout android:id="@+id/bottomContinueLayout" 
            android:layout_height="45dp" android:layout_width="fill_parent"
            android:layout_alignParentBottom="true" android:background="@drawable/header_gradient">

            <Button android:id="@+id/backToPartySize" android:text="Party Size"
                android:textColor="#ffffff" android:layout_alignParentLeft="true"
                android:layout_width="wrap_content" android:layout_height="wrap_content" 
                android:layout_centerInParent="true" android:background="@drawable/selector_button"/>

        </RelativeLayout>
        <!-- Bottom Continue Finish -->
    </RelativeLayout>
     <LinearLayout android:id="@+id/addMobLayout" android:layout_below="@+id/bottomContinueLayout" 
        android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_alignParentBottom="true">

    </LinearLayout>

</RelativeLayout>

希望这对您有帮助。 谢谢。

关于android - 我怎样才能在android中创建像iphone设置这样的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7884525/

相关文章:

android - 在 Android 中形成 SQL 查询的最佳方式是什么?

android - 文本选择句柄似乎没有改变

java - Android,我应该将内容居中吗?

android - 如何强制jetpack compose重组?

android - 可绘制选择器在 Jelly Bean 中不起作用

java - HttpClient 已弃用(android studio,Target=api 22)

android - 适用于 Intent 的所有附加功能的列表

java - Android IntentService 减慢 UI 线程速度

Android - BitmapFactory.decodeByteArray - OutOfMemoryError (OOM)

android - 小布局没有对象空间,我该如何在代码中处理这个问题