2011-06-06 68 views
1

我有一个程序,我想在一个活动添加两种观点,像安卓:如何将两个视图添加到一个活动

public class AnimationActivity extends Activity { 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(new GraphicsViewForBitmap(this)); 
     setContentView(new GraphicsView(this)); 


    } 
} 

其中GraphicsViewForBitmap & GraphicsView两类扩展视图。 所以我想在一次两个意见应设置为一项活动。 这可能吗? Plz给我答案。 谢谢

+0

如何你想你的看法都发生水平,垂直或彼此重叠 – ingsaurabh 2011-06-06 05:53:32

回答

1

是的,但首先你必须把它们放在一个ViewGroup中,例如一个LinearLayout,然后用setContentView设置该ViewGroup。因为使用现有的代码,您不仅仅是在第一个视图中添加第二个视图,但是您正在设置另一个内容。

5

setContentView()将仅显示您已设置的视图。如果你想显示多个视图,那么你可以在布局XML文件中添加视图,如LinearLayoutRelativeLayout等,然后你可以使用setContentView(R.layout.yourXML)

这里是你如何能做到这在你的XML ...

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

<com.yourpkg.GraphicsView 
android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 


<com.yourpkg.GraphicsViewForBitmap 
android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 

</LinearLayout> 
0

添加第二个视图到第一视图。

LinearLayout childLayout = new LinearLayout(this); 
childLayout.setOrientation(LinearLayout.HORIZONTAL); 

childLayout.addView(graphicsView);  
parentLayout.add(childLayout); 
0

另一种方法是创建一个第二布局XML,说main2.xml(第一是main.xml中)。然后你可以通过例如一个换成另一个。一个动作条按钮等如下:

setContentView(R.layout.main2); // Pass from layout #1 to layout #2 
setContentView(R.layout.main); // Pass from layout #2 back to layout #1 

(您可以根据需要创建尽可能多的观点...)

相关问题