2015-10-14 47 views
1

我把我的Android屏幕/片段分成2部分,如上半部分和下半部分。我通过在父母LinearLayout内放置两个LinearLayouts来完成此操作。 在上半部分,我保留了一些文字浏览和按钮,不想更改此部分。 在底部的一半,有一个button B。点击这个Button B,我想导航到一些不同的页面(或视图),使上半部分保持不变,只有底部部分发生变化。拆分Android屏幕和做导航只在第二部分

Intent intent=new Intent(getApplicationContext(),DifferentActivity.class); 
startActivity(intent); 

我可以通过创建一个DifferentActivity类(如上所述),其中一次我得把它分成两个部分,并复制上半部分的粘贴代码,使在底部的新变化做到这一点半部分。 但假设在主活动底部半部分,有许多按钮,每个按钮导航到不同的视图,然后对于每个视图,我将不得不创建一个由2个部分组成的活动,包括固定的上半部分。

是否有任何其他方式使导航(onClick按钮B)仅在底部发生变化,同时保持顶部固定

我的目标是通过点击底部的Button B来改变底部部分的外观/界面,尽你所能地去做不同的活动或在同一个父活动中进行更改,做任何事情。

+0

显示一些代码(我们航行到新的片段)。 – kebs

回答

1

将两个LinearLayouts更改为2个独立的片段。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <fragment android:name="com.example.android.fragments.FragmentA" 
       android:id="@+id/fragment_a" 
       android:layout_weight="wrap_content" 
       android:layout_height="wrap_content" /> 

    <fragment android:name="com.example.android.fragments.FragmentB" 
       android:id="@+id/fragment_b" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

    </LinearLayout> 

现在你FragmentB内添加onClickListener您按钮B执行片段交易改变FragmentB到FragmentC

buttonB.setOnClickListener(new OnClickListener() 
{ 

    @Override 
    public void onClick(View v) 
    { 
     final FragmentTransaction ft = getFragmentManager().beginTransaction(); 
     ft.replace(R.id.fragment_b, new FragmentC(), "NewFragmentTag"); 
     ft.commit(); 
    } 

}); 
+0

好主意。 要做一个完整的例子,只需在Android Studio中创建一个导航抽屉项目。 您可能只需将其从侧面切换到顶部样式即可。 –