如何在 Horizo​​ntalScrollView 中的特定位置滚动 Android

How to scroll on particular position in HorizontalScrollView Android

我正在 Horizo​​ntalScrollView 内的 LinearLayout 中添加动态布局视图。 布局xml如下:

  <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<HorizontalScrollView
    android:id="@+id/hsv_category_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:scrollbars="none">

    <LinearLayout
        android:id="@+id/ll_placeHolder"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:orientation="horizontal">

    </LinearLayout>

</HorizontalScrollView>

通过在线性布局中实用地添加 10 个视图,如下所示

public class ScrollTest extends Activity {

  HorizontalScrollView hsv_category_list;
  LinearLayout ll_placeHolder;
  View layoutView[];
 @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.scroll_test);
    hsv_category_list=
   (HorizontalScrollView)findViewById(R.id.hsv_category_list);
    ll_placeHolder = (LinearLayout) findViewById(R.id.ll_placeHolder);
    layoutView = new View[10];

    for (int i = 0; i < 10; i++) {
        layoutView[i] = 
        LayoutInflater.from(this).inflate(R.layout.category_list_item, 
        null);
        layoutView[i].setId(i);

        ll_placeHolder.addView(layoutView[i]);
    }

    }
 }

我想自动滚动到索引 7 上不可见的项目。 请帮我解决this.Thank你

您可以使用 scrollTo(x) 设置它,其中 x 是偏移值或 scrollToIndex(position) 滚动到指定位置

hsv_category_list.scrollTo(1150);
hsv_category_lis.scrollToIndex(4);

我做了,在为我工作之后

 //index which your want to scroll
 int index=7;     
 layoutView[index].getParent().requestChildFocus(layoutView[index], layoutView[index]);