AMH*_*AMH 5 android android-linearlayout android-activity
我有一个活动,想在其中显示另一个活动.这是我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
如何在按钮单击中显示Activity内部LinearLayout?
使用setContentView方法为每个活动夸大布局实例,通常在onCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_common_layout);
}
Run Code Online (Sandbox Code Playgroud)
因此,XML对于不同的活动使用相同的布局没有问题.
您可以使用FragmentAPI来完成任务.请参阅开发人员指南中的完整详细信息.
声明这样的布局,Android将为您创建片段:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment android:name="com.example.MyFragment"
android:id="@+id/my_fragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
然后创建一个MyFragment类并在适当的时候加载它.
自己创建片段.不要Fragment在XML布局中定义:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/my_parent_layout">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Activity创建父项后,您可以通过Fragment以下方式添加新项:
FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MyFragment fragment = new MyFragment();
fragmentTransaction.add(R.id.my_parent_layout, fragment);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
这里MyFragment定义如下:
public class MyFragment extends Fragment {
...
}
Run Code Online (Sandbox Code Playgroud)如果您的目标是Android 3.0以下,请考虑使用支持包.
| 归档时间: |
|
| 查看次数: |
23701 次 |
| 最近记录: |