2014-02-27 5 views
1

휴대 전화 용 앱에 기본보기가있는 호출기가 있고 프리미엄 기능보기가 오른쪽으로 스 와이프되면 가로 모드에서 가로 방향에 맞게 약간 수정 된 버전이 있습니다.조각을 세로보기로 선택하는 방법

이제 태블릿 UI를 만들어야하는데 한 화면에 두 개의보기를 모두 표시하고 싶습니다. 이미 표시 할 수 있지만 가로 모드의 태블릿은 레이아웃 랜드에서 조각을 가져옵니다. 세로 레이아웃이 아닌 가로 세로 레이아웃을 선택해야합니다.

중복 된 레이아웃을 만들지 않고 타블렛이 가로로 배치되어 있어도 조각을 세로 버전으로 만들 수 있습니까?

내 조각 그것은 잠시하지만있었습니다이

public class PremiumFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     ViewGroup premiumView = (ViewGroup) inflater.inflate(
       R.layout.premium_features, container, false); 
     return premiumView; 
    } 
    @Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     Log.d(TAG, "onView created ran"); 
     Intent intent = new Intent("setup"); 
     LocalBroadcastManager.getInstance(getBaseContext()).sendBroadcast(intent); 

    } 
} 

답변

0

같이이 문제에 관심있는 사람들을위한 : 만약 내가 제대로 이해하고

, 당신은 세로 레이아웃, 가로 레이아웃이 필요합니다 (대한 예를 들어 모바일) 및 인물 사진과 일치하는 태블릿의 다른 가로 레이아웃이 있습니다. 그다지 중복되지 않습니다. 정규 레이아웃에 독립적 인 비 규정 레이아웃을 포함 할 수 있습니다.

layout-land/my_fragment.xml 
layout-port/my_fragment.xml 
layout-large-land/my_fragment.xml 
layout/my_fragment_content.xml 

레이아웃 포트/my_fragment.xml :

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <include 
     layout="@layout/my_fragment_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

</FrameLayout > 

레이아웃 토지/my_fragment.xml :

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    //something completely different 

</FrameLayout > 

및 레이아웃

은 이러한 레이아웃을 가지고 말할 수 있습니다 -large-land/my_fragment.xml (내용은 세로 방향과 같습니다) :

(210)
<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <include 
     layout="@layout/my_fragment_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

</FrameLayout > 

관련된 몇 가지 최소한의 이중성이 있지만 유일하게 중요한 것은 모든 중요한 정보가 하나의 파일 layout/my_fragment_content.xml에 포함되어 있기 때문에 당신이 이제까지 layout-port/my_fragment.xml 또는 layout-large-land/my_fragment.xml 접촉 할 이유가 없다는 것이다.

이 항목은 더 철저하게 저자가 아마 aleady 읽기이 문서에서 분석 :

Android Developers: Building a Flexible UI

관련 문제