2014-09-29 3 views
0

을 존중하지 않습니다viewpager 내가이 XML 파일이 무게

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_alignParentBottom="true" 
android:layout_centerHorizontal="true" 
android:orientation="vertical" 

android:weightSum="1"> 

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="0"> 

    <android.support.v4.view.PagerTitleStrip 
     android:id="@+id/pager_title_strip" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0" 
     android:background="#A00A0A" 
     android:paddingBottom="4dp" 
     android:paddingTop="4dp" /> 

</android.support.v4.view.ViewPager> 

<Switch 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="1" 
    android:text="New Switch" /> 

</LinearLayout> 

내 문제는 ViewPager 상관없이 설정을 부모의 높이를 채우고하지 않거나 내가 넣어 무게와 스위치가

을 보이지 않는 것입니다

어떻게 수정합니까?

+2

보기 호출기 – AndroidEnthusiast

+0

에 대해 1로 무게를 설정하여 해결했습니다. – user1333057

답변

2

신장에 체중을 사용하는 경우 신장은 0dp 여야합니다. 이 대답을 시도하십시오.

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

     <android.support.v4.view.PagerTitleStrip 
      android:id="@+id/pager_title_strip" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#A00A0A" 
      android:paddingBottom="4dp" 
      android:paddingTop="4dp" /> 

    </android.support.v4.view.ViewPager> 

    <Switch 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="New Switch" /> 

    </LinearLayout> 
+0

이렇게 수정하면 "AndroidEnthusiast"가 "1"로 가중치를 적용하여 문제가 해결되었다고 나타났습니다 – user1333057

-2

viewpager의 높이 감싸는 내용을 설정하면 문제가되지 않습니다. 당신은

android:layout_height="150dp" 

같은 특정 치수를 설정해야합니다 또는 당신이 당신의 스위치 정렬 부모 바닥을 설정하고 그 위에보기 호출기를 설정해야

android:layout_height="match_parent" 

것처럼 행동한다.

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

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/my_switch"> 

    <android.support.v4.view.PagerTitleStrip 
     android:id="@+id/pager_title_strip" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#A00A0A" 
     android:paddingBottom="4dp" 
     android:paddingTop="4dp" 
     /> 

</android.support.v4.view.ViewPager> 

<Switch 
    android:id="@+id/my_switch" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_weight="1" 
    android:text="New Switch" /> 

</RelativeLayout> 
+0

layout_alighParentBottom을 사용하여 LinearLayout 내부를 전환 할 수 없습니다. layout_alighParentBottom은 RelativeLayout의 속성입니다. 답이 잘못되었습니다. –

+0

예, 맞습니다. 나는 그것을 깨닫지 못했다. 루트보기에서 android : layout_alignParentBottom = "true" android : layout_centerHorizontal = "true를 사용했기 때문에 상대 레이아웃으로 변경해야합니다. – savepopulation