4

가로 및 세로 모두에서 사용되는 레이아웃이 있습니다. 나는 /layout/layout-land 폴더에 있습니다. 유일한 차이점은 android:orientation입니다.LinearLayout 방향 설정 레이아웃 랜드 대신 참조를 사용하여 설정 (XML 전용)

유지하기가 더 쉽기 때문에 /layout에 1 개의 xml 만 넣고 싶습니다. 대신 /values/values-land을 사용하고 싶습니다. 이것이 가능한가?

은 (불필요한 코드 제거) 내가 지금 가지고있는 것은 :

<LinearLayout 
    android:orientation="horizontal"/> 

<LinearLayout 
    android:orientation="vertical"/> 

나는 생각

대에 대해 뭔가 같은 :

<LinearLayout 
    android:orientation="@xxxx/linear_orientation"/> 

나는 또한 생각 궁극적 인 해결책으로 이 LinearLayout에 대해서만 맞춤 스타일을 만드는 방법 (이 솔루션은 마음에 들지 않지만 wi 내가 다른 옵션을 잘 못한다면 그것을 사용해야 할 것이다).

참고 : java에서이를 수행 할 수 있음을 알고 있지만 xml- 해결책을 찾고 있습니다.

답변

9

은 유지하기가 쉽기 때문에/layout에 1 개의 XML 만 넣고 싶습니다. 대신/값 및/값 - 토지를 사용하고 싶습니다. 이 이 가능한가요?

예, 가능합니다. 그것을 달성하기 위해 스타일을 사용할 수 있습니다.

/값에서 styles.xml의 스타일 :

<style name="LinearLayoutOrientation" > 
    <item name="android:orientation">horizontal</item> 
</style> 

:

<style name="LinearLayoutOrientation" > 
    <item name="android:orientation">vertical</item> 
</style> 

/값-땅에서 styles.xml의 스타일 LinearLayout의 최종 xml 코드 :

<LinearLayout 
    style="@style/LinearLayoutOrientation"/> 
+0

네, 저의 궁극적 인 해결책입니다. 나는 오직 하나의 속성에 대한 사용자 정의 스타일을 생성하지 않기를 바랬다. 그것은 단지 좋게 들리지 않습니다. – gian1200

+0

@ gian1200 죄송합니다, 질문을 신중하게 읽지 않았습니다. 나는 이것을 달성하기 위해 자바를 제외한 다른 해결책을 모른다. –