HorizontalScrollView+listview实现右滑

      最近在做一个盘点软件,实现条形码扫描搜索数据库的数据,显示在listview里,但是要显示的属性比较多,屏幕无法全部显示,所以就采用HorizontalScrollView+listview实现右滑。

     先上图

     

  

下面是布局文件部分内容

<db.SyncHorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/scrollView1"
    android:layout_alignParentTop="true"
    android:scrollbars="none"
    android:layout_centerHorizontal="true">
    <LinearLayout
        android:id="@+id/linear1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
<include
    layout="@layout/list_item"
    android:id="@+id/table_title"/>
    </LinearLayout>
</db.SyncHorizontalScrollView>
<View
    android:layout_width="match_parent"
    android:layout_height="1.5dp"
    android:background="#686867"/>
<db.SyncHorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView0"
    android:layout_alignParentTop="true"
    android:scrollbarSize="5dp"
    android:layout_centerHorizontal="true">
    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">
        <ListView
            android:id="@+id/list"
            android:divider="#B4B3B3"
            android:dividerHeight="1.0dip"
            android:scrollbars="none"
            android:background="@drawable/listview_bg"
            android:cacheColorHint="@android:color/transparent"
            android:fadingEdge="none"
            android:layout_width="fill_parent"
            android:layout_height="match_parent" >
        </ListView>
    </LinearLayout>
</db.SyncHorizontalScrollView>
include布局是listview上面的布局,就是它跟listview关联滚动。

HorizontalScrollView是自己自定义的,代码如下:

package db;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.HorizontalScrollView;

public class SyncHorizontalScrollView extends HorizontalScrollView {
    private View mView;
    public SyncHorizontalScrollView(Context context) {
        super(context);
    }

    public SyncHorizontalScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        super.onScrollChanged(l, t, oldl, oldt);
        if(mView!=null){
            mView.scrollTo(l, t);
        }
    }
    public void setScrollView(View view){
        mView = view;
    }

}

用法: 
scrollView0=(SyncHorizontalScrollView)findViewById(R.id.scrollView0); 
scrollView1=(SyncHorizontalScrollView)findViewById(R.id.scrollView1); 
scrollView0.setScrollView(scrollView1); 
scrollView1.setScrollView(scrollView0); 

这样就可以相互滚动了。 

 

猜你喜欢

转载自blog.csdn.net/weixin_40586270/article/details/80453539