2010-07-01 50 views
0

有什么方法可以通过各种活动共享视图的同一对象吗?例如,myApp有4项活动,每项活动都在屏幕顶部显示一个徽标。现在每项活动将启动同一个徽标的4份副本。那么有什么办法可以解决这个问题吗?
如果三分之四共享相同的标志?如何通过各种活动共享视图

回答

8

我不能说你完全不可能这样做。我几乎可以肯定地说,如果你管理它,你不应该尝试它或期待什么好事发生。不要打架,让它为你工作。如果重复是很多问题,那么您创建一个您的活动从中继承的抽象类。

另外,由于View保持对创建的上下文的引用。如果您确实设法将View从一个Activity传递到另一个Activity,则会造成内存泄漏。由于视图将通过上下文保留对旧活动的引用,因此它被创建。

0

使用单独的布局来制作您的徽标。 例:title.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="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="@drawable/headercon" > 

<ImageView 
    android:id="@+id/headerView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scaleType="centerInside" 
    android:src="@drawable/header" /> 

</LinearLayout> 

该布局可以通过使用被包含在任何其他布局包括标签

例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 

... 

<include layout="@layout/title" /> 
... 

</RelativeLayout>