2012-03-22 4 views
4

안녕하세요, Android에서 작동 중입니다.안드로이드 마스터 레이아웃 템플릿

모든 활동에 사용 된 레이아웃이 있습니다.

나는 꼬리말과 머리말이있는 레이아웃을 가지고 있음을 의미합니다.

각 활동에 대해 머리말과 꼬리말은 동일하며 동일한 행동을 취합니다.

As you see,

나는 머리글과 바닥 글에 대한 일반적인 레이아웃을 사용하고 싶습니다.

나는 한 액티비티에서 콘텐츠 영역 레이아웃을 일반적인 레이아웃으로 지정하겠다.

나는 느껴진다. 그러나 충분하지 않다.

어떻게하면됩니까?

이렇게하려면 더미 문서가 있습니까?

죄송합니다.

답변

2

머리글 & 바닥 글에 포함을 사용하거나 기본 클래스에서 동적으로 추가 할 수 있지만 더 나은 방법은 단일 액티비티를 사용하여 앱을 호스팅 한 다음 화면 콘텐츠에 단편을 사용하는 것입니다. 당신이 무슨 말을하는거야

http://android-developers.blogspot.co.uk/2011/02/android-30-fragments-api.html

+0

안드로이드 2.1 버전 – user999822

+1

을 사용하고 있습니다. 문제가되지 않습니다. 프래그먼트는 Android 용 호환성 패키지 (SDK 관리자 참조)에 포함되어 있으므로 v3.0 이전 버전의 Android에서 쉽게 조각을 사용할 수 있습니다. 그 이상으로 www.ActionBarSherlock.com을 사용할 수 있습니다.이 라이브러리는 (Fragments 외에도) ActionBar도 제공합니다. –

+0

http://jnastase.alner.net/archive/2011/01/08/ldquomaster-pagesrdquo-in -android.aspx이 코드는 조각을 사용하지 않습니다. 그것은 문제가 되는가? – user999822

4

은 조각이라는 새로운 안드로이드 디자인 패턴입니다. 3.0 조각은 화면을 구성하기 위해 결합 될 수있는보기와 같은 작은 활동이기 때문에.

따라서 머리글과 바닥 글 조각을 만든 다음이를 필요로하는 모든 활동에 포함시켜야합니다.

다른 패턴으로 보려는 액션 바 패턴은 머리글과 비슷한 일반적인 콘텐츠와 기능을 가진 화면 상단에 바를 배치하는 데 사용됩니다.

또 다른 방법은 xml 파일을 사용하여 머리글과 바닥 글을 정의한 다음이를 코드의보기로 인스턴스화하고 내용보기 xml 정의에 프로그래밍 방식으로 추가하는 것입니다. 이 문제는 머리말과 꼬리말 뒤에있는 코드가 각 컨트롤러에 복제되어야한다는 것입니다. 가장 좋은 방법은 조각을 사용하고, 나는 아래의 몇 가지 유용한 링크를 놓을 게요 :

http://developer.android.com/guide/topics/ui/actionbar.html

http://developer.android.com/guide/topics/fundamentals/fragments.html

http://mobile.tutsplus.com/tutorials/android/android-compatibility-working-with-fragments/

https://stackoverflow.com/questions/5710573/need-a-fragments-example

+0

android 2.1 버전을 사용하고 있습니다. – user999822

+1

다음 Android 호환성 패키지를 사용하십시오. 안드로이드는 4.0 용 앱을 디자인하고 패키지를 사용하여 이전 버전을 위해 신속하게 리엔지니어링하는 것만 큼 쉬운 방식으로 설계되었습니다. 단편을 사용하지 않는다면 나중에 단편을 사용하는 것이 거의 불가능할 것입니다. 경험에서 알 수 있습니다. http://stackoverflow.com/questions/5195697/unable-to-use-fragments-with-android-compatibility-package –

+0

rhis 코드는 어떻게됩니까? http://jnastase.alner.net/archive/2011/01/08/ldquomaster-pagesrdquo-in-android.aspx – user999822

1

나는 조각에 대하여 아무것도 없다, 그리고 네, 갈 길이 멀지 만 초보자 용 안드로이드 개발자라면 <include>과 base activi로 무엇을하려하는지 성취 할 수 있습니다. 의.

이 의 사용법을 잘 설명하지만 요약하면 반복해서 같은 내용을 다시 작성하는 대신 다른 레이아웃에 "포함"할 수있는 레이아웃 XML 파일을 만들 수 있습니다.

머리글과 바닥 글의 기능 (클릭했을 때 무언가를한다고 가정 할 때)은 일반적인 안드로이드 Activity 대신 확장 할 수있는 기본 활동을 만들 수 있습니다. 등이 샘플 코드와 마찬가지로,이 기본 활동에 머리글과 바닥 글 클릭에 대한 논리를 정의 레이아웃 (별도의 XML로 가지고있는 하나)에서

public class MyBaseActivity extends Activity { 
... 
public void onHeaderClick(View view) { 
// when header is clicked, do this. 
} 
public void onFooterClick(View view) { 
// when footer is clicked, do this. 

을, 헤더에 onClick 속성을 추가/footer를 사용하여 기본 작업의 메서드 이름을 지정합니다.

android:onClick="onHeaderClick" 

그런 다음이 머리글과 바닥 글이 모든 활동을 MyBaseActivity을 확장 단지 문제 등

.

+0

@Josepus : 나는이 질문에서 어떤 것을 구현하지 않을 것이다. 하지만 BaseActivity에 대한 개념이 마음에 들었습니다. 컨셉과 관련한 링크가 있습니까? 당신의 개념에 대한 생각이 내 마음에 의심을 가져 왔기 때문입니다. – MobiDev

+0

사실 그것은 스스로 발견 한 아이디어지만 비슷한 솔루션 (또는 오히려 똑같은 해결책)은 stackoverflow에서 같은 문제에 관해서 읽었을 때 나타났습니다. (링크가 없습니다. "안드로이드 기본 활동"을 검색해보십시오) 중요한 것은 그것이 작동합니다 :) – josephus

-1

this을 확인하십시오. 필요할 때 언제든지 레이아웃을 재사용 할 수 있습니다.