GridView计算适配大小展示
来源:互联网 发布:商业组织域名代码 编辑:程序博客网 时间:2024/06/04 18:44
gridview展示九宫图,大小计算不好,适配不同尺寸的手机,会出现上下滚动的效果,需要在gridview的适配器中计算每个控件的大小,根据屏幕宽高计算展示
效果图:
public class MenuGridViewAdapter extends BaseAdapter { private GridView mGridview; private Context mContext; private int[] imgResource={R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1,R.drawable.cai1}; public MenuGridViewAdapter(GridView mGridview,Context mContext) { super(); this.mContext = mContext; this.mGridview=mGridview; } @Override public int getCount() { return imgResource.length; } @Override public Object getItem(int position) { return imgResource[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate(R.layout.menu_grid_view, parent, false); } convertView.setLayoutParams(getLayoutParams(convertView)); ImageView img=BaseViewHolder.get(convertView, R.id.grid_img); img.setImageResource(imgResource[position]); return convertView; } /** * 设置控件的宽高 * * @创建日期 2016-5-14 * * @参数 convertView * @返回值 LayoutParams * */ private LayoutParams getLayoutParams(View convertView) { WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); //宽度:获取gridview的宽度减去左右的间距,因为3列,每列左右1个间距,然后再除以3,可计算出一个的宽度;高度类似 int width = (mGridview.getWidth()-6)/3; int height = (mGridview.getHeight()-6)/ 3; LayoutParams layoutParams = convertView.getLayoutParams(); layoutParams.width = width; layoutParams.height = height; return layoutParams; }}
布局:
<GridView android:id="@+id/menu_gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:horizontalSpacing="2dp" android:verticalSpacing="2dp" android:listSelector="@null" android:numColumns="3" android:scrollbars="none" android:stretchMode="columnWidth" android:gravity="center" />
0 0
- GridView计算适配大小展示
- android 重写GridView,让子View能够按指定的大小展示
- GridView展示War3英雄
- 学院Logo展示+GridView
- 用GridView展示文字
- Gridview控件展示所有应用
- gridview宽度自适应屏幕间距---计算一个item(或某个图片)的占屏幕大小
- gridview跨行计算
- GridView文本框自动计算
- 在GridView里面计算
- 数据绑定控件GridView展示商品列表
- 使用ExpandableListView+GridView实现分组数据展示
- Android布局之GridView使用展示
- Android获取本地图片展示GridView
- 28、使用GridView制作图片展示
- RecyclerView表格展示GridView加HeadView效果
- GridView重写、一次展示所有item
- 用GridView展示已经安装的应用
- C++ string流
- HDOJ 1026 Ignatius and the Princess I 解题报告
- Android应用开发学习之路I-Java技术篇
- Ural 1081. Binary Lexicographic Sequence
- 世界各国以及中国各区县的JSON数据下载
- GridView计算适配大小展示
- 解决端口号被占用引发的错误
- java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'itemController' bean method
- 表的维护
- Android 中 Context 详解
- ng-md5
- iOS UIImageView放大缩小与移动
- 图论总结
- c#用账号密码访问公共盘,pdf打印文档