在我的应用程序中,我有一个底栏,可以有很多标签,我可以滚动到它们。 在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>
这是银河系中的一个错误吗?或者我做错了什么?(但为什么它适用于所有其他设备) 如果有人希望看到这个问题,这里是the link of the app on the Play Store。
答案 0 :(得分: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
答案 1 :(得分:0)
布局上有些奇怪的事情:
1)为什么你有两个嵌套的水平LinearLayouts? (svContainerParent和svContainer) 无论你想做什么,你都可以只用一个。
2)从RelativeLayout中删除android:gravity =“center”。它没有做任何事情。
3)删除包裹HorizontalScrollView的第一个LinearLayout。将相关参数放在HorizontalScrollView本身上。
4)最后,你为什么要让RelativeLayout包装你的ImageView?如果您希望视图位于另一个视图的顶部(或后面)(在屏幕截图中似乎不是这种情况),您只能使用RelativeLayout。
我认为其中一种情况导致某些设备无法滚动的问题。让我知道它是否有帮助!