在一个活动类中使用两个setContentView

时间:2013-01-25 07:01:24

标签: android

我有以下代码,其中MyClass基本上扩展了View。我想知道是否需要同时使用setContentView(R.layout.activity_mainlcass_app)setContentView(myDrawing)来显示我在MyClass中绘制的2D图形。

public class MainClass extends Activity {
    MyClass myDrawing;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainlcass_app);

        myDrawing = new myDrawing(this);
            setContentView(myDrawing);
            myDrawing.requestFocus();
    }
}

4 个答案:

答案 0 :(得分:2)

不,你做不到。第二个布局将覆盖父视图。

答案 1 :(得分:2)

在主要版面(activity_mainlcass_app)中,只需添加MyClass

即可
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.example.MyClass
        android:id="@+id/myclass"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

答案 2 :(得分:0)

试试这个

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

<com.example.firstactivity
android:layout_width="fill_parent"
  android:layout_height="fill_parent"/>


<com.example.secondactivity
android:layout_width="fill_parent"
  android:layout_height="fill_parent"/>

</LinearLayout>

有关详细信息,请查看此link和此example

答案 3 :(得分:0)

如果您希望新绘图位于其他绘图之上(可能使用不同的布局大小),请使用FrameLayout进行原始布局,并使用gravity来定位新绘图并使用addView活动方法。