我正在尝试实现一个简单的屏幕,其中我有一个带有书籍条目的水平滚动视图。我遇到的问题是它似乎过早地切断了,切断了条目。我已经查看了类似的其他问题,他们的修复似乎没有解决我的问题,所以我不知道如何解决这个问题。
这就是切断的样子:
这是我的代码:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#D3D3D3" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="fill"
android:orientation="vertical" >
<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:text="@string/af"
android:textAppearance="?android:attr/textAppearanceLarge" />
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#A1A1A1" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill_horizontal|end"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/relative1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="168dp"
android:layout_height="258dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:contentDescription="@string/cd"
android:src="@drawable/af1" />
<TextView
android:id="@+id/textLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageView1"
android:layout_centerInParent="true"
android:singleLine="true"
android:text="Guilty Wives" />
</RelativeLayout>
/*RelativeLayout repeats with different data, cut for brevity*/
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
我设法通过将android:paddingRight="150dip"
添加到LinearLayout来修复它。
话虽这么说,我猜这个修复很黑,而不是解决最初的问题。
答案 1 :(得分:0)
这是一个从未解决的已知错误:(https://code.google.com/p/android/issues/detail?id=20088), 但这里的代码对我有用。 诀窍是设置水平滚动视图的宽度以包装内容和它下面的线性(或相对)布局的宽度以匹配父级。
<HorizontalScrollView android:id="@+id/group_scroller" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioGroup android:id="@+id/choices_group" android:layout_width="wrap_content" android:orientation="horizontal" android:paddingTop="4dp" android:paddingBottom="4dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" /> </LinearLayout> </HorizontalScrollView>
答案 2 :(得分:0)
我尝试了所有可以在网上找到的解决方案但是没有一个在HorizontalScrollView中用于相对布局,所以我所做的只是一种解决方法。在布局中添加我的所有视图后,我添加了一个不可见的“线”作为我布局中的最后一个子项,并将其放置在我上一个实际视图的右侧。这有点hacky,但它是最简单,最有效的方法,而不实现不必要的自定义视图。
View shim = new View(sender.getApplicationContext());
RelativeLayout.LayoutParams shimParams = new RelativeLayout.LayoutParams(0,ViewGroup.LayoutParams.MATCH_PARENT);
shimParams.addRule(RelativeLayout.RIGHT_OF,yourViewIDHere);
shim.setLayoutParams(shimParams);
YourLayout.addView(shim);
像魅力一样工作,希望如果有人在寻找有用的东西时偶然发现它会有所帮助。
答案 3 :(得分:0)
删除 线性布局中的android:layout_gravity =“ center_horizontal”。
<HorizontalScrollView
android:layout_gravity="center_horizontal"
android:scrollbars="none"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linear_buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
......
......
</LinearLayout>
</HorizontalScrollView>
答案 4 :(得分:0)
我正在使用
android:layout_gravity="center"
在我的线性布局中。 删除它,它工作正常