我想使用RelativeLayout为Android移动设备和平板电脑设计应用程序。设计如下所示:
所有屏幕的页眉和页脚都相同。那么请任何人告诉我如何设计这样的屏幕?我不想在所有屏幕中重复使用页眉和页脚。
答案 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)
您可以只使用MainActivity
和Header
创建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