0

ViewPagerの1つでスクロール可能なビューを作成しようとしましたが、これは画面の90%を占め、ViewPager内の画像に関する有用な情報です。Scrollviewにはビューページャーと1つの線形描画が含まれています

ただし、ScrollViewウィジェットを追加すると、android:fillViewport="true"を設定してもすべてのサイズと重量が機能しません。ここに私のレイアウトです。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fillViewport="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:weightSum="100" 
     android:scrollbars="vertical"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@android:color/background_light" 
      android:elevation="0dp" 
      android:minHeight="?attr/actionBarSize" 
      android:theme="?attr/actionBarTheme" 
      app:popupTheme="?android:attr/homeAsUpIndicator" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dip" 
      android:layout_weight="90" 
      android:orientation="vertical" 
      android:padding="50dip"> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/product_sheet_viewpager" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"/> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/product_sheet_description" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="bbb"/> 

     <TextView 
      android:id="@+id/product_sheet_color" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Color: Yellow" /> 

     <TextView 
      android:id="@+id/product_sheet_reference" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Ref: 2049/889/300" /> 

    </LinearLayout> 
</android.support.v4.widget.NestedScrollView> 
+0

私の答えをチェックし、それが動作するかどうか私に教えてください。ありがとう! –

+0

NestedScrollViewをmatch_parentにして、プロパティをfitSystemWindows = trueをNestedScrollViewに追加します。 –

+0

@MuhibPiraniエラーをスローします。(2)com.androidをコンパイルしても、パッケージ 'android'の属性 'fitSystemWindows'のリソース識別子が見つかりません。サポート:デザイン:25.3.1 ''のグラデーションスクリプト内 –

答えて

0

android:fillViewport="true"を削除し、match_parentにごNestedScrollViewlayout_heightを設定します。

最終的なレイアウトは次のようになります。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:scrollbars="vertical" 
     android:weightSum="100"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@android:color/background_light" 
      android:elevation="0dp" 
      android:minHeight="?attr/actionBarSize" 
      android:theme="?attr/actionBarTheme" 
      app:popupTheme="?android:attr/homeAsUpIndicator" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dip" 
      android:layout_weight="90" 
      android:orientation="vertical" 
      android:padding="50dip"> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/product_sheet_viewpager" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" /> 

     </LinearLayout> 

     <TextView 
      android:id="@+id/product_sheet_description" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="bbb" /> 

     <TextView 
      android:id="@+id/product_sheet_color" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Color: Yellow" /> 

     <TextView 
      android:id="@+id/product_sheet_reference" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Ref: 2049/889/300" /> 

    </LinearLayout> 
</android.support.v4.widget.NestedScrollView> 
+0

ありがとうございます。しかし、問題は、ビュー・ペーパをラップした線形レイアウトの後にたくさんのビューを追加すると、ビュー・ページャはそのサイズを縮小します。 –

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

    > 

    <RelativeLayout 
     android:id="@+id/relativeLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="5dp" 
     android:paddingTop="5dp" 
     android:layout_above="@+id/relativeLayoutBottom" 
     > 
     <android.support.v4.view.ViewPager 
      android:id="@+id/viewPagerPlanDetailBroucher" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:columnWidth="250dp" 
      android:numColumns="auto_fit" 
      android:verticalSpacing="1dp" 
      android:horizontalSpacing="1dp" 
      android:layout_marginRight="50dp" 
      android:layout_marginLeft="50dp" 
      > 
     </android.support.v4.view.ViewPager> 
     </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/relativeLayoutBottom" 
     android:layout_alignParentBottom="true" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingBottom="5dp" 

     android:paddingTop="5dp" 
     > 
     <TextView 
      android:id="@+id/product_sheet_description" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:text="bbb"/> 

     <TextView 
      android:id="@+id/product_sheet_color" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_below="@+id/product_sheet_description" 
      android:text="Color: Yellow" /> 

     <TextView 
      android:id="@+id/product_sheet_reference" 
      android:layout_below="@+id/product_sheet_color" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:text="Ref: 2049/889/300" /> 

    </RelativeLayout> 
</RelativeLayout> 
+0

ありがとう!この良いレイアウトをScrollView内に追加すると問題は解決しない –

+0

スクロールビュー内に追加しないで、別のXMLファイル内でテストするだけです...私は90のビューポートで相対レイアウトを分割しています –

関連する問題