0

ご覧のとおり、ボトムバーがあります(TabHostなどを使用していないため、明らかに減価償却されているためですが、これはアプリ内の2つのアクティビティのみであるため、タブホストを実行する必要はありません。 2ページ)。とにかく、そのタブバーの下にコンテンツがあります。Androidは、コンテンツが表示可能であると認識しているため、これ以上スクロールしませんが、実際には表示されません。

私の質問は、そのコンテンツをタブバーの上に表示するための最良の方法は何ですか。

私が持っていたいくつかのアイデア:

  1. 設定された高さ(タブバーが設定された高さであるため)とwrap_contentの幅の透明な画像。これは機能していません。
  2. タブバーの背景を使用して、目立たないようにします。
  3. 下部のバーを透明にせず、高さを設定してそこに何かを置きます。

あなたは私のxml構造に興味があるかもしれません:

 <RelativeLayout>
   <ScrollView>
     <LinearLayout>
       <RelativeLayout>
         <LinearLayout>

         </LinearLayout>

         <LinearLayout>

         </LinearLayout>
       </RelativeLayout>
     </LinearLayout>
   </ScrollView>
   <LinearLayout>
     TAB BAR
   </LinearLayout>
 </RelativeLayout>

スクリーンショット

4

4 に答える 4

3

タブバーの高さが固定されている場合は、ScrollViewマージンボトム属性を設定できます。これにより、常にScrollViewタブバーの上にデータが表示されます

于 2012-09-11T10:37:46.063 に答える
0

@Antarix Tandonの回答の代わりに、ルート相対レイアウトを垂直線形レイアウトに変更することもできます。

于 2012-09-11T10:40:21.073 に答える
0

xmlでタブバーにビューIDを指定し、その背後に表示されるビューをタブバービューの「layout_above」に設定し、両方が同じRelativeLayout内にあることを確認します。

したがって、たとえば:

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

        <LinearLayout
            android:id="@+id/bottom_bar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" />

       <LinearLayout
            android:id="@+id/top_area"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@+id/bottom_bar"
            android:orientation="vertical" /> 
 </RelativeLayout>

これにより、背後のコンテンツが上にプッシュされ、そのtop_areaレイアウトをスクロールビューに配置できます。これにより、スクロール可能になり、常に下部バーの上に配置されます。

例えば:

<ScrollView 
    android:id="@+id/scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/bottom_bar" >
   <LinearLayout
        android:id="@+id/top_area"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" />
</ScrollView>

これにより、スクロールビューが下部のバーの上に配置され、top_areaレイアウトが含まれ、スクロール可能になります

于 2012-09-11T10:46:35.307 に答える
0

RelativeLayout特に明記されていない限り、すべての子を喜んで重ね合わせます。それを修正するためのいくつかのアイデア:

  • 上部RelativeLayoutLinearLayoutwithに変更し、ゼロ以外の値orientation="vertical"ScrollView layout_weight指定して、タブバーが常に下部にあり、スクロールビューが残りのすべての垂直スペースを占めるようにします。

  • ただし、最初にタブバーRelativeLayoutをレイアウトしlayout_alignParentBottom="true"、次に。を使用してスクロールビューをレイアウトしますlayout_above="@id/your_tabbar_id"

于 2012-09-11T10:42:01.037 に答える