0

私のアプリには、スクロールできる多くのタブを持つことができるボトムバーがあります。Galaxy S2 および S3 以外のデバイスではスクロールはうまく機能しますが、Samsung S2 および S3 ではスクロールが機能せず、一部のタブにアクセスできません (図を参照)。

スクロールする場所を表示

下のバーのコードは次のとおりです(写真の青):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/svContainerParent"
android:layout_width="match_parent"
android:layout_height="@dimen/height_tab_fragment_bottom"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/svContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/LanguageContainer"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:clickable="true"
        android:gravity="center"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" >

        <ImageView
            android:id="@+id/FlagLanguage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginRight="5dp"
            android:src="@drawable/english_r" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/svHolder"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center" >

        <HorizontalScrollView
            android:id="@+id/scrollViewTabs"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center" >
        </HorizontalScrollView>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/command"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center"
        android:padding="5dp" >

        <RelativeLayout
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="center"
            android:gravity="center" >

            <ImageView
                android:id="@+id/cartImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center" />
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/textCommand"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center"
            android:padding="5dp"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/cartName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:gravity="center"
                android:text="@string/cart_name"
                android:textSize="12sp" />
            <TextView
                android:id="@+id/cartPrice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:gravity="center"
                android:text="0.00 €"
                android:textSize="8sp" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

これは銀河のバグですか?それとも、私がやっていることが何か間違っているのでしょうか?(しかし、他のすべてのデバイスで動作するのはなぜですか?)誰かがこの問題を調べたい場合は、Play ストアのアプリのリンクを次に示します。

4

2 に答える 2

0

あなたのレイアウトに奇妙なことがあります:

1) ネストされた水平 LinearLayouts が 2 つあるのはなぜですか? (svContainerParent と svContainer) 何をしようとしても、1 つだけで実行できます。

2) RelativeLayout から android:gravity="center" を削除します。そこでは何もしません。

3) Horizo​​ntalScrollView をラップする最初の LinearLayout を削除します。代わりに、必要なパラメーターを Horizo​​ntalScrollView 自体に配置します。

4) 最後に、RelativeLayout で ImageView をラップしているのはなぜですか? ビューを別のビューの上 (または後ろ) に配置する場合にのみ、RelativeLayout を使用します (スクリーンショットではそうではないようです)。

これらのケースの1つが、一部のデバイスでスクロールしないという問題を引き起こしていると思います. それが役立つかどうか教えてください!

于 2013-10-27T09:25:22.333 に答える