如何在Horizo​​ntalScrollView Android

时间:2017-07-14 12:50:01

标签: android android-linearlayout horizontalscrollview

我在Horizo​​ntalSayrollView中的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]);
    }

    }
 }

output

我想自动滚动到索引7上不可见的项目。 请帮我解决这个问题。谢谢你

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我为我工作后做了

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