博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridView的stretchMode属性
阅读量:4607 次
发布时间:2019-06-09

本文共 3460 字,大约阅读时间需要 11 分钟。

stretchMode属性值的作用是设置GridView中的条目以什么缩放模式去填充剩余空间。参数stretchMode 可选值为:none,spacingWidth,columnWidth, spacingWidthUniform

注意:spaceWidth和spacingWidthUniform是有差别的,下面通过一个例子说明一下,本人手机屏幕4.7英寸,分辨率为1280×720

1.建立一个Android项目

界面布局文件activity_main.xml如下:

字符串文件strings.xml如下:

gridviewtest
F00
0F0
00F
FF0
F0F
0FF
07F
F07
70F

颜色文件colors.xml如下:

#F00
#0F0
#00F
#FF0
#F0F
#0FF
#07F
#F07
#70F

2.编写代码,如下:

public class MainActivity extends Activity {        int []colors=new int[]    {        R.color.c1,R.color.c2,R.color.c3,        R.color.c4,R.color.c5,R.color.c6,        R.color.c7,R.color.c8,R.color.c9    };    int []texts=new int[]    {        R.string.c1,R.string.c2,R.string.c3,        R.string.c4,R.string.c5,R.string.c6,        R.string.c7,R.string.c8,R.string.c9    };    Button button1;    GridView gridview1;        protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         button1=(Button)findViewById(R.id.button1);        gridview1=(GridView)findViewById(R.id.gridview1);                 button1.setOnClickListener(new OnClickListener()        {             @Override              public void  onClick(View v)             {                 int width=gridview1.getColumnWidth();                 int widthSpace=gridview1.getHorizontalSpacing();                            Toast.makeText(MainActivity.this, "columnWidth:"+width+",widthSpace:"+widthSpace, Toast.LENGTH_LONG).show();             }         });                 final BaseAdapter baseAdapter=new BaseAdapter()        {             @Override            public int getCount() {                return texts.length;            }             @Override            public Object getItem(int arg0) {                return getResources().getString(texts[arg0]);            }             @Override            public long getItemId(int arg0) {                return arg0;            }             @Override            public View getView(int position, View view, ViewGroup viewGroup) {                                 TextView textView=new TextView(MainActivity.this);                textView.setText(getItem(position).toString());                textView.setTextSize(20);                textView.setGravity(Gravity.CENTER);                textView.setBackgroundResource(colors[position]);                textView.setWidth(60);                textView.setHeight(60);                return textView;                             }                     };         gridview1.setAdapter(baseAdapter);              }  }

 3.测试

 当将界面布局文件中GridView的stretchMode设为none,点击按钮,输出的信息为columnWidth:160,widthSpace:16

当将界面布局文件中GridView的stretchMode设为spacingWidth,点击按钮,输出的信息为columnWidth:160,widthSpace:120

当将界面布局文件中GridView的stretchMode设为columnWidth,点击按钮,输出的信息为columnWidth:229,widthSpace:16

当将界面布局文件中GridView的stretchMode设为spacingWidthUniform,点击按钮,输出的信息为columnWidth:160,widthSpace:68

 

转载于:https://www.cnblogs.com/rainboy2010/p/4525856.html

你可能感兴趣的文章
也谈智能手机游戏开发中的分辨率自适应问题
查看>>
开始一个django项目
查看>>
重新学习angularjs--第一篇(入门)
查看>>
【转】MYSQL数据库设计规范与原则
查看>>
《中国大历史》—— 读后总结
查看>>
回溯法算法框架
查看>>
残差学习【转载】
查看>>
0302 关于IT行业的就业感想
查看>>
3、流程语句相关练习
查看>>
30、git 使用
查看>>
转发:China2008 标题:SharePoint 文档库打开HTML 直接浏览而不是打开下载对话框...
查看>>
iOS网络-02-数据解析(JSON与XML)
查看>>
二叉树的下一个结点
查看>>
【DP】书的复制
查看>>
PHP 仿网易云的评论盖楼
查看>>
javaBean为什么要实现Serializable接口?
查看>>
android关于实现EditText中加多行下划线的的一种方法
查看>>
python列表求和的几种等效电路
查看>>
Luogu P3393 逃离僵尸岛
查看>>
Flatten Binary Tree to Linked List
查看>>