2016-10-11 3 views
0

최근에 일부 외부 장치를 제어하는 ​​Android 앱을 작성 중입니다. 여러 종류의 장치가 있지만 매우 유사합니다. 따라서 장치를 제어하기위한 각 활동의 레이아웃도 매우 유사합니다. 예를 들어 모든 레이아웃은 기본적으로 textviews, editviews 및 buttons가 동일합니다. 차이점은 하나의 장치에는 목록보기가 있지만 다른 장치에는 목록이 없다는 것입니다.Android : 비슷한 레이아웃으로 다양한 활동을 구현하는 방법

이제 각 장치의 각 레이아웃 (및 해당 활동)을 복사하고 각 활동에서 몇 가지 사항을 변경합니다. 나는 이것이 다소 무리하다고 느낍니다. 그리고 구현하는 또 다른 더 간단하고 효율적인 방법이 있어야한다고 생각합니다. 어떻게?

감사합니다.

+0

모든 일반적인 작업에 대한 단편을 구현하고 특별한 경우 1을 구현한다. 당신의 활동에서 이것들을 재사용하십시오. –

답변

0

당신은 태그를 사용하여 레이아웃의 공통 부분을 재사용 할 수는 레이아웃/예 재사용 할 줘야에서이 경우 레이아웃에

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/app_bg" 
android:gravity="center_horizontal"> 

<include layout="@layout/example"/> 

<TextView android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/hello" 
      android:padding="10dp" /> 

... 

을 포함한다. 여기

자세한 내용 : https://developer.android.com/training/improving-layouts/reusing-layouts.html#Include

+0

이것으로, 각 활동에서 동일한 코드 부분을 복사해야하는 것 같습니다. 예를 들면 다음과 같습니다. EditText exampleText = (EditText) findViewById (R.id.edtExampleText); – eepty

+0

그렇지만 동일한 레이아웃에 대해 다른 로직을 만들 수 있습니다. 논리와 레이아웃이 동일한 경우 조각을 사용할 수 있습니다. https://developer.android.com/guide/components/fragments.html – szymon1013

관련 문제