您的位置:首页 > 移动开发 > Android开发

Android之GridView横向左右滚动

2015-08-08 16:23 295 查看
//UI布局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<HorizontalScrollView
android:id="@+id/hsv_member"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/rl_add"
android:minHeight="60dp"
android:scrollbars="none">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<GridView
android:id="@+id/gv_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="#00000000"
android:columnWidth="60dp"
android:gravity="center"
android:horizontalSpacing="1.0dip"
android:listSelector="@color/transparent"
android:numColumns="auto_fit"
android:stretchMode="spacingWidthUniform"
android:verticalSpacing="1.0dip" >
</GridView>
</LinearLayout>
</HorizontalScrollView>

</RelativeLayout>

activity代码

<pre name="code" class="java">QunMemberAdapter adapter=new QunMemberAdapter(this, dataArray);
GridView gv_list = (GridView) topView.findViewById(R.id.gv_list);
ViewGroup.LayoutParams params = gv_list.getLayoutParams();
params.width = DensityUtils.dip2px(this, 61) * dataArray.length();
gv_list.setLayoutParams(params);
gv_list.setNumColumns(dataArray.length());
gv_list.setAdapter(adapter);


上面代码中61代表一个单元格的宽度60加上点间距

<pre name="code" class="java">DensityUtils.class


public final class DensityUtils {

/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}


这样就可以实现左右滑动了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android