我将我的Android屏幕/片段分成上半部分和下半部分两部分。我通过在父LinearLayouts
中放置两个LinearLayout
来完成此操作。
在上半部分,我保留了一些文本视图和按钮,并且不想更改此部分。
在下半部分,有一个button B
。点击此Button B
,我希望导航到某个不同的页面(或视图),以便上半部分保持不变,只有底部部分被更改。
Intent intent=new Intent(getApplicationContext(),DifferentActivity.class);
startActivity(intent);
我可以通过创建一个DifferentActivity类(如上所述)来实现这一点,我再次将它分成两部分并复制上半部分的粘贴代码并在下半部分进行新的更改。 但是假设在mainActivity Bottom Half部分中,有许多按钮,每个按钮导航到不同的视图,然后对于每个视图,我必须创建一个包含2个部分的Activity,包括固定的上半部分。
是否有其他方式导致导航(onClick按钮B)更改仅在底部声部发生,同时保持顶部固定。
我的目标只是在单击底部部分中的Button B
时更改底部的外观/ UI,尽可能做,转到不同的活动或在同一个父活动中进行更改,任何东西。
答案 0 :(得分:1)
将两个LinearLayouts更改为两个单独的片段。
<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();
}
});