0

いくつかのTextViewを上下に配置し、最後にViewPagerを使用してRelativeLayoutを使用します。

ViewPagerのパラメーターにはandroid:layout_below = "@ id / dialog_access_right"があり、dialog_access_rightは最後のTextViewです。

私の問題は、この特定のTextViewが複数行(最大3)になる可能性があることです(必ずしもそうとは限りません)。ただし、ViewPagerは常に最初の行の後に配置されるため、残りのTextViewは非表示になります。

複数行を使用して、行パラメーターを3に設定し(場合によっては2行の空白行がある場合でもそれほど悪くはありません)、デフォルトのテキストに2つの改行を入れてみました。この作品は何もありません。

ViewPagerに、それ自体を再描画して位置合わせするように指示する方法はありますか(relativelayoutで無効化を試みましたが、何もしませんでした...)。

<TextView
    android:id="@+id/dialog_access_right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/access_right_title"
    android:layout_alignBottom="@id/access_right_title"
    android:layout_toRightOf="@id/access_right_title"
    android:text="@string/dialog_access_right" />

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/dialog_access_right" />

編集:これが私の問題を示すスクリーンショットです。「CanRead」TextViewは実際には2行(3行)の複数行のTextViewであり、青い線はViewPager内のPagerTabStripです。 スクリーンショット

4

2 に答える 2

0

最初にViewPagerを下部に設定してから、textViewをその上に配置してみてください。また、実際にはラベルの個別のビューはありません。文字列リソースをプルして連結するだけです。これにより、ビューの描画が最適化されるだけでなく、XMLファイルが小さくなり、理解とデバッグが容易になります。

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:align_parentBottom="true" />

<TextView
    android:id="@+id/dialog_access_right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:above="@id/viewpager"
    android:below="@id/dateModified"
    android:text="@string/dialog_access_right" />
于 2012-08-03T14:10:38.663 に答える
0

なぜ(まあ、これを解決する方法)これが起こっているのかを知りました。

それは

    android:layout_alignBottom="@id/access_right_title"

このパラメーターが原因のようです。これを削除して(layout_alignBaselineも)、別のパラメーター(この場合はandroid:layout_below)に置き換えると、ViewPagerは正しい位置に配置されます。

<TextView
    android:id="@+id/dialog_access_right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/last_modified_date_name"
    android:layout_toRightOf="@+id/access_right_title"
    android:text="TextView" />

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/dialog_access_right" />

これがバグなのか、何か欲しいものなのかはわかりませんが、私の場合、android:layout_belowが機能する場合でも、常にそうであるとは限りません...

于 2012-08-04T13:23:31.433 に答える