【发布时间】:2015-05-02 12:26:01
【问题描述】:
默认情况下HorizontalScrollView 从左到右滚动,但我想从右到左滚动。
如何做到这一点?任何帮助将不胜感激。
【问题讨论】:
标签: java android android-layout android-activity
默认情况下HorizontalScrollView 从左到右滚动,但我想从右到左滚动。
如何做到这一点?任何帮助将不胜感激。
【问题讨论】:
标签: java android android-layout android-activity
您可以在代码中将其滚动到滚动视图的右边缘,如下所示:
scrollView.postDelayed(new Runnable() {
public void run() {
scrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);
【讨论】:
添加layout_gravity RIGHT,当物品不包洞时很有用
<HorizontalScrollView
android:id="@+id/scrollPartition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:id="@+id/lytPartition"
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:scrollbars="none">
</LinearLayout>
</HorizontalScrollView>
并且在代码中需要滚动到列表的末尾
findViewById(R.id.scrollPartition).post(new Runnable() {
@Override
public void run() {
((HorizontalScrollView) findViewById(R.id.scrollPartition)).fullScroll(View.FOCUS_RIGHT);
}
});
以编程方式设置 layout_gravity 使用:
HorizontalScrollView scrollView = new HorizontalScrollView(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT;
scrollView.setLayoutParams(layoutParams);
【讨论】:
将此属性添加到 HorizontalScrollView :
android:layoutDirection="rtl"
(不好解决)
【讨论】: