13

私のxmlファイルには、画像を表示するための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.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/goto_first"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="first" >
            </Button>

            <Button
                android:id="@+id/goto_last"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="last" >
            </Button>
        </LinearLayout>

    </LinearLayout>

私の問題は、ViewPagerが全画面表示になり、このLinearLayoutを描画するためのスペースが残っていないため、前の次のボタンを含むLinearlayoutが表示されないことです。

フラグメントを使用してViewPagerにビューを入力しています。ViewPagerに入るフラグメントビューのxmlファイルは次のとおりです。

<ImageView
    android:id="@+id/ItemImage"
    android:layout_width="320dp"
    android:layout_height="180dp" />

<TextView
    android:id="@+id/ItemText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left|bottom"
    android:layout_marginBottom="5dp"
    android:textColor="#ffffffff"
    android:textStyle="bold" />
</FrameLayout>

レンダリング後に取得する出力は次のようになります
。1。画像(画面の高さ45%
をカバー)2。空白(画面の高さ45%をカバー)
3。テキストビュー(画面の高さ10%の残りをカバー)

必要な出力は次の
とおりです。1.image(画面の高さ45%をカバー)
2.Textview(画面の高さ10%をカバー)
3。ボタンのLinearLayout(画面の高さ45%の残りをカバー)

4

8 に答える 8

9

それらをviewpagerに渡すだけです:

 android:layout_height="0dp"
 android:layout_weight="1"
于 2013-10-02T20:52:59.340 に答える
3

RelativeLayout を使用し、` のような属性を使用するだけです

Android:layout_below

希望のポジションになるまで。このような場合は、相対レイアウトが役に立ちます。

于 2014-07-16T08:26:44.607 に答える
0

私の場合、このコードは機能します:

<androidx.viewpager.widget.ViewPager
    android:id="@+id/myviewpager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" />
于 2019-10-04T21:52:20.700 に答える
0

以下を実行して、下または上に他のビュー用のスペースを空けます。

< android.support.v4.view.ViewPager **android:layout_width**="match_parent" **android:layout_height**="match_parent" **android:layout_weight**="1"/>

この回答は、以下のリンクにある回答からのJaveのコメントから取られました。

リンク: " Android ViewPager ディメンション"

于 2018-05-15T12:27:32.287 に答える