Android网格视图示例
Android网格视图是许多应用程序中最常用的布局之一。本教程通过示例说明栅格视图布局。
GridView
gridview是android中的一种布局,它允许我们在二维可滚动网格中排列组件。GirdView中的组件不一定是静态的,它可以存储在ListAdapter中(适配器就像数据和UI组件之间的桥梁)。
在日历视图和其他网格应用程序中很常见。
网格视图属性
以下是Android网格视图布局的一些XML属性。
android:gravity,表示中心、底部、顶部、左侧等每个单元格的重力。
android:columnWidth,用于指定每个单元格的列宽度。
android:horizontalSpacing,指定网格列之间的水平间距。
android:verticalSpacing,用于指定网格行之间的垂直间距。
android:numColumns,指定要显示的列数。
网格视图方法
网格视图有许多方法可以使用,这里将对其中一些方法进行解释
getAccessibilityClassName():返回object的类名。
getAdapter():返回与之关联的适配器。
getColumnWidth():返回网格上某列的宽度。
getGravity():返回网格组件的重力,即它们水平对齐的方式。
getHorizontalSpacing():返回网格组件之间的水平间距。
getNumColumns():获取网格中的列数。
setAdapter(ListAdapter):用于设置网格视图后面的数据。
setColumnWidth(int columnWidth):用于设置列宽。
setGravity(int-gravity):用于设置网格组件的重力。
setHorizontalSpacing(int horizontalSpacing):用于设置水平间距,将项目放入网格中。
setVerticalSpacing(int verticalSpacing):用于设置垂直间距,将项目放置在网格上。
网格视图构造函数
网格视图有四个不同的公共构造函数,定义如下
- GridView( Content context)
- GridView( Content context, AttributeSet attrs)
- GridView( Content context, AttributeSet attrs, int defStyleAttr)
- GridView( Content context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
网格视图示例
这个例子展示了如何在Android中使用GridView布局。如前所述,GridView可以直接使用,也可以与自定义适配器一起使用。这个例子显示了小型和大写英文字母的网格。
打开androidstudio并开始创建一个新项目。在主代码中粘贴并创建以下活动_活动.xml.
<?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridView1" android:numColumns="auto_fit" android:gravity="center" android:columnWidth="80dp" android:stretchMode="columnWidth" android:layout_width="fill_parent" android:layout_height="fill_parent" > </GridView>
打开主活动.java然后粘贴这个代码
package com.example.admin.gridviewexample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
GridView gridView;
static final String[] numbers = new String[] {
"A", "B", "C", "D", "E",
"F", "G", "H", "I", "J",
"K", "L", "M", "N", "O",
"P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z", "\n","\n","\n","\n",
"a", "b","c","d","e",
"f","g","h","i","j",
"k","l","m","n","o",
"p","q","r","s","t",
"u","v","w","x","y",
"z"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = (GridView) findViewById(R.id.gridView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, numbers);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(getApplicationContext(),
((TextView) v).getText(), Toast.LENGTH_SHORT).show();
}
});
}
}

