0

現在、Androidレイアウトのタブ内のスクロール可能なビューで問題が発生しています。以下に示すように、タブレイアウトにスクロール可能なビューが実装されていなくても、ビューはタブの下をスクロールします。

http://i46.tinypic.com/2ccmp0w.png

タブ付きレイアウト内にスクロール可能なビューを配置すると、バグがあり使用できないように見える小さなスクロール可能なビューが表示されます。下に示された。

http://tinypic.com/r/29ej2ft/6

タブホストのコードは以下のとおりです

<?xml version="1.0" encoding="utf-8"?>
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
    android:layout_height="fill_parent"
    android:layout_width="fill_parent">
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:padding="5dp" />
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />        
</RelativeLayout>
</TabHost>

これは、スクロールビューが実装されたタブのコードです

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/todayScroll" 
android:layout_height="wrap_content"
android:layout_width="fill_parent" >

<LinearLayout 
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"      
    android:orientation="vertical" >

            <ExpandableListView
                android:id="@+id/ExpList"
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:groupIndicator="@null" />   

</LinearLayout>
</ScrollView>

コンテンツを正しくスクロールし、タブの邪魔にならないようにする方法についてのアイデアは大歓迎です:)ありがとう。

私はフェアを数回試しましたが、それは非常にイライラし始めています。

編集:これがTabHostActivityファイルです。

public class TabbedMainActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab_main);

    TabHost tabHost = getTabHost();

    // Tab for todays meals
    TabSpec todaysSpec = tabHost.newTabSpec("Todays");
    //you could set icon here as well as title
    todaysSpec.setIndicator("Todays");
    Intent todaysIntent = new Intent(this, TodaysMealsActivity.class);
    todaysSpec.setContent(todaysIntent);

    // Tab for future meals
    TabSpec futureSpec = tabHost.newTabSpec("Future");
    futureSpec.setIndicator("Future");
    Intent futureIntent = new Intent(this, FutureMealsActivity.class);
    futureSpec.setContent(futureIntent);

    // Tab for comments
    TabSpec commentsSpec = tabHost.newTabSpec("Comments");
    commentsSpec.setIndicator("Feedback");
    Intent commentsIntent = new Intent(this, CommentsActivity.class);
    commentsSpec.setContent(commentsIntent);

    // Adding all TabSpec to TabHost
    tabHost.addTab(todaysSpec); // Adding todays tab
    tabHost.addTab(futureSpec); // Adding future tab
    tabHost.addTab(commentsSpec); // Adding comments tab
}
}

乾杯、Rmplanner

4

1 に答える 1

0

コメントからの編集: 別の解決策 (OP で使用されるもの) が見つかりました here .

で使用android:layout_height="fill_parent"しますScrollView。(または、fill_parentは推奨されていないため、 を使用しますandroid:layout_height="match_parent"。)

まず、あなたを削除し、ScrollViewあなたをこれに置き換えますRelativeLayout

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

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_above="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp" />

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</RelativeLayout>
于 2012-08-01T01:57:30.553 に答える