Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何自定义布局_Android_Xml_Android Layout - Fatal编程技术网

Android 如何自定义布局

Android 如何自定义布局,android,xml,android-layout,Android,Xml,Android Layout,如何自定义框架布局,我必须使屏幕如下: 我已经做到了: 所以现在我想知道,如何实现上述布局 如何在顶部显示图标,如上图(路径) 如何将文本放置在圆圈上方,就像上面的屏幕(黑色文本:记住生活)(浅色文本:立即……) 如何将按钮放置在圆圈下方,如上面的屏幕(注册和登录) 这是我的XML,我在其中使用FrameLayout,请参见以下内容: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="htt

如何自定义框架布局,我必须使屏幕如下:

我已经做到了:

所以现在我想知道,
如何实现上述布局

  • 如何
    在顶部显示图标
    ,如上图(路径

  • 如何
    将文本放置在圆圈上方
    ,就像上面的屏幕(
    黑色文本:
    记住生活)(
    浅色文本:
    立即……

  • 如何将按钮放置在圆圈下方,如上面的屏幕(注册登录

  • 这是我的
    XML
    ,我在其中使用
    FrameLayout
    ,请参见以下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.indianic.viewflipperdemo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <com.indianic.viewflipperdemo.widget.ViewFlow
            android:id="@+id/viewflow"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            app:sidebuffer="3" >
        </com.indianic.viewflipperdemo.widget.ViewFlow>
    
        <com.indianic.viewflipperdemo.widget.CircleFlowIndicator
            android:id="@+id/viewflowindic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            android:padding="10dip"
            android:layout_marginBottom="10dip"
            app:inactiveType="stroke" />
    
    </FrameLayout>
    

    使用RelativeLayout代替FrameLayout。您将更自由地使用元素位置

    像这样的你可以做到

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.indianic.viewflipperdemo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <com.indianic.viewflipperdemo.widget.ViewFlow
            android:id="@+id/viewflow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:sidebuffer="3" />
    
        <View
            android:id="@+id/center"
            android:layout_width="1dp"
            android:layout_height="0dp"
            android:layout_centerHorizontal="true" />
    
        <Button
            android:id="@+id/button_register"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/center"
            android:padding="10dp"/>
    
        <Button
            android:id="@+id/button_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toRightOf="@+id/center"
            android:padding="10dp"/>
    
        <com.indianic.viewflipperdemo.widget.ViewFlow
            android:id="@+id/viewflowindic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/button_register"
            android:layout_gravity="bottom|center_horizontal"
            android:padding="10dip"
            android:layout_marginBottom="10dip"
            app:inactiveType="stroke" />
    
        <TextView
            android:id="@+id/description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/viewflowindic"
            android:layout_centerHorizontal="true"
            android:text="description"/>
    
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/description"
            android:layout_centerHorizontal="true"
            android:text="title"/>
    </RelativeLayout>
    
    
    

    顺便说一句,使用“匹配父对象”而不是“填充父对象”。

    使用RelativeLayout组织视图。要实现查看寻呼机指示器请尝试此链接

    样品

        <?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        //You can put an image view or text view to show your app name
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Path"
            android:id="@+id/title"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="74dp"/>
    
        **// Try view pager indicator here.**
    
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:weightSum="2"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:id="@+id/">
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Register"
                android:layout_weight="1"
                android:id="@+id/button"/>
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Login"
                android:layout_weight="1"
                android:id="@+id/button2"/>
        </LinearLayout>
    </RelativeLayout>
    
    
    //您可以放置图像视图或文本视图来显示您的应用程序名称
    **//请尝试在此处查看寻呼机指示器**
    
    最后,我实现了我的目标,我使用了
    布局
    [
    相对布局
    线性布局
    ]来组织小部件,请参见完整的XML

    circle\u layout.xml:-

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.indianic.viewflipperdemo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
         <com.indianic.viewflipperdemo.widget.ViewFlow
            android:id="@+id/viewflow"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            app:sidebuffer="3" >
        </com.indianic.viewflipperdemo.widget.ViewFlow>
    
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="30dp"
            android:src="@drawable/ic_launcher" />
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView2"
            android:layout_centerHorizontal="true"
            android:text="Remember Life"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="bold" />
    
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/viewflowindic"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:padding="5dp"
            android:text="Instantly search memories of friends, season, birthdays, and more"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    
        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:orientation="horizontal"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="10dp" >
    
            <Button
                android:id="@+id/textView"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center"
                android:layout_weight="1"
                android:text="Register"
                android:textColor="#000000" />
    
            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:layout_weight="1"
                android:text="Login"
                android:textColor="#000000" />
        </LinearLayout>
    
        <com.indianic.viewflipperdemo.widget.CircleFlowIndicator
            android:id="@+id/viewflowindic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/linearLayout1"
            android:layout_centerHorizontal="true"
            android:padding="20dp"
            app:inactiveType="stroke" />
    
    </RelativeLayout>
    
    
    
    看看这张很棒的
    截图


    根据需要使用相对布局、定位标签和按钮,并将图像设置为主容器的背景