如何使用RelativeLayout为Android手机和平板电脑设计?

时间:2013-12-24 07:15:07

标签: android relativelayout

我想使用RelativeLayout为Android移动设备和平板电脑设计应用程序。设计如下所示:

design

所有屏幕的页眉和页脚都相同。那么请任何人告诉我如何设计这样的屏幕?我不想在所有屏幕中重复使用页眉和页脚。

4 个答案:

答案 0 :(得分:1)

<?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"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/lineartopview"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"
        android:background="@android:color/holo_green_dark"
        android:orientation="horizontal" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearmiddleview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/linearview"
        android:layout_below="@+id/lineartopview"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearview"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="@android:color/holo_green_dark"
        android:orientation="horizontal" >
    </LinearLayout>

</RelativeLayout>

答案 1 :(得分:0)

您可以只使用MainActivityHeader创建Footer的xml文件,并在中间添加Fragment,然后只替换其中的任何片段。

RelativeLayout中的以下内容:

<RelativeLayout 
android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

<RelativeLayout
android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="50dp"/>

<FrameLayout
        android:below:"@+id/header"
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
android:margin_bottom:"40dp" />

<RelativeLayout
        android:id="@+id/footer"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="40dp"/>

<RelativeLayout/>

现在要替换片段,您可以使用它:

    //Your new fragment
    Fragment fragment = new PlanetFragment();

    //If you want to pass something to it
    Bundle args = new Bundle();
    args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
    fragment.setArguments(args);

    // Insert the fragment by replacing any existing fragment
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
                   .replace(R.id.content_frame, fragment)
                   .commit();

我没有在我的Mac上安装eclipse,很抱歉,如果我的xml上有错误

答案 2 :(得分:0)

你可以通过制作包含标题的基本布局来实现这一点,我认为这将是Title bar并将其扩展为FragmentActivity

并使用Frame布局使用每个

的片段和布局填充视图

通过向fragmenttransaction添加片段,使用FragmentTransaction将片段添加到FragmentActivity中 试试this示例

答案 3 :(得分:0)

The header and footer is same for all screens. so please any one tell me how to design the screen like this. I don't want to repeatably use the header and footer in all the screen.

为此,您可以创建名称为header.xml或footer.xml的xml。 然后你可以在你的代码中使用这些xml in tag in other xml。

请参阅此Stackoverflow答案,Suggestion 1 有关include标签的更多信息,请参阅此处 developer.android