0

在我的应用程序中,我有一个底栏,可以有许多标签,我可以滚动到它们。在 Galaxy S2 和 S3 以外的其他设备中,滚动效果很好,但在三星 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
 <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>

尝试删除线性布局并保留HorizontalScrollView

于 2013-10-24T08:42:49.183 回答
0

您的布局有些奇怪:

1)为什么你有两个嵌套的水平 LinearLayouts ?(svContainerParent 和 svContainer) 无论你想做什么,你都可以只用一个。

2) 从RelativeLayout 中移除android:gravity="center"。它在那里没有做任何事情。

3)删除包装你的Horizo​​ntalScrollView的第一个LinearLayout。而是将必要的参数放在 Horizo​​ntalScrollView 本身上。

4) 最后,你为什么要用RelativeLayout 来包装你的ImageView?如果您希望您的视图位于另一个视图的顶部(或后面)(在您的屏幕截图中似乎并非如此),您只会使用 RelativeLayout。

我认为其中一种情况会导致无法在某些设备上滚动的问题。让我知道它是否有帮助!

于 2013-10-27T09:25:22.333 回答