天天看點

android-ActivityGroup

有些API還沒用呢,就已經過時了。。。還是了解下吧。

效果:

android-ActivityGroup

代碼:

public class MainActivity extends ActivityGroup {

  private Class<?>[] classNames = { FirstActivity.class,
      SecondActivity.class, ThirdActivity.class };

  @SuppressWarnings("deprecation")
  private LocalActivityManager lam = getLocalActivityManager();
  private LinearLayout bodyView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bodyView = (LinearLayout) findViewById(R.id.body);
  }

  private void loadActivity(Class<?> activity) {
    
    bodyView.removeAllViews();
    View view = lam.startActivity(
        activity.toString(),
        new Intent(MainActivity.this, activity)
            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
        .getDecorView();
    bodyView.addView(view, new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.MATCH_PARENT));
  }

  public void onBtn1Click(View v) {
    loadActivity(classNames[0]);
  }

  public void onBtn2Click(View v) {
    loadActivity(classNames[1]);
  }

  public void onBtn3Click(View v) {
    loadActivity(classNames[2]);
  }

}      
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.activitygroup.MainActivity" >

    <LinearLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_alignParentTop="true"
        android:layout_weight="0.4"
        android:orientation="vertical" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#005"
            android:gravity="center"
            android:text="ActivityGroup Demo"
            android:textColor="#f00"
            android:textSize="24sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/body"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="5"
        android:background="#55f"
        android:gravity="center"
        android:orientation="vertical" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.7"
        android:background="#555"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onBtn1Click"
            android:text="Button1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onBtn2Click"
            android:text="Button2" />

        <Button
            android:id="@+id/button3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onBtn3Click"
            android:text="Button3" />
    </LinearLayout>

</LinearLayout>