我正在尝试创建一个包含标题片段xml和底部视图片段xml的欢迎活动,其中包含要登录的按钮。任何人都可以帮助我如何将这两个片段xml放到我的activity_main.xml
?
这是我的header.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="220dp">
<ImageView
android:id="@android:id/background"
android:layout_width="match_parent"
android:layout_height="220dp"
android:scaleType="centerCrop"
android:src="@drawable/header_bg" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="bottom|right|end"
android:layout_marginStart="@dimen/android_spaces_large"
android:layout_marginEnd="@dimen/android_spaces_large"
android:layout_marginLeft="@dimen/android_spaces_large"
android:layout_marginRight="@dimen/android_spaces_large"
android:layout_marginBottom="@dimen/android_spaces">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/header_title"
style="@style/Header.TitleText" />
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/header_subtitle"
style="@style/Header.SubTitleText" />
</LinearLayout>
<View
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="?android:actionBarSize"
android:background="@layout/header_ab_shadow" />
</FrameLayout>
我的fragment_bottomview.xml
只包含一个按钮。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_gravity="center_horizontal" />
</LinearLayout>
我的activity_main.xml
看起来像这样
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.windows81.welcomingwithheader.MainActivity"
tools:ignore="MergeRootFrame" />
我不知道我缺少什么,或者我做错了,任何教程链接都会对我有所帮助。
答案 0 :(得分:0)
只创建两个新类,让我们称之为FragmentA和FragmentB,两者都应该扩展片段
为fragmentA和fragmentB重写onCreateView,并将其视图设置为xml到header.xml和fragment_bottomview.xml,如下所示
public class FragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle
savedInstanceState) {
View view=inflater.inflate(R.layout.header,container,false);
return view;
}
}
public class FragmentB extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle
savedInstanceState) {
View view;
view=inflater.inflate(R.layout.fragment_bottomview,container,false);
return view;
}
}
现在将FragmentA和FragmentB添加到您的活动中,将此代码放入您的oncreate活动方法
FragmentA fragmentA=new FragmentA();
FragmentManager manager=getFragmentManager();
FragmentTransaction trans=manager.beginTransaction();
trans.add(R.id.container,fragmentA,"fragmenta");/*adding fragment into
the
framelayout with id
container*/
FragmentB fragmentB=new FragmentB();
trans.add(R.id.container,fragmentB,"fragmentb");/*adding fragment into
the
framelayout with id
container*/
trans.commit();
你可能应该使用相对布局而不是framelayout