2010-07-01 3 views
0

다양한 활동에서보기의 동일한 개체를 공유 할 수있는 방법이 있습니까? 예를 들어 myApp에는 4 가지 활동이 있고 모든 활동에는 화면 상단에 로고가 표시됩니다. 이제 각각의 활동은 동일한 로고의 4 부를 시작합니다. 이 문제를 해결할 수있는 방법이 있습니까?
4 개 중 3 개가 동일한 로고를 사용한다면?다양한 활동에서보기를 공유하는 방법

답변

8

나는 당신이 그것을하는 것이 완전히 불가능하다고 말할 수 없습니다. 제가 거의 확실하게 말할 수있는 것은 여러분이 그것을 시도하거나 그것을 관리한다면 좋은 일이 일어날 것을 기대해서는 안된다는 것입니다. 프레임 워크에 맞서 싸우지 마라. 중복이 많은 문제인 경우 활동에서 상속받은 추상 클래스를 만듭니다.

또한 View의 생성 된 컨텍스트에 대한 참조가 유지되므로 하나의 활동에서 다른 활동으로보기를 전달하면 메모리 누수가 발생합니다. 보기에는 생성 된 컨텍스트를 통해 이전 활동에 대한 참조가 유지되므로

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> 
관련 문제