GridView
(网格布局)
代码示例:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridViewmenu = (GridView) findViewById(R.id.grid_view_menu);//1 获取Grid的引用
List<Map<String,String>> dataList = new ArrayList<>(); //2.1创建List类型的数组 dataList
// for (int i = 0;i <12; i++){
// Map<String,String> map = new HashMap<>();
// map.put("menu_name","菜单"+i);
// dataList.add(map);
// }
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查2");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查3");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查4");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查5");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查6");
dataList.add(map);}
{Map<String,String> map = new HashMap<>();
map.put("menu_name","审前检查7");
dataList.add(map);}
String[] from ={"menu_name"};
int[] to = {R.id.Tv_menu};
SimpleAdapter simpleAdapter = new SimpleAdapter(this,dataList,R.layout.grid_item,from,to);//2 给GridView设置一个数据源
gridViewmenu.setAdapter(simpleAdapter);
}
}
相应的XML代码:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.asong.testui6.MainActivity">
<GridView
android:id="@+id/grid_view_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
/>
</RelativeLayout>
grid_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
//2.2
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/setting"
/>
<TextView
android:id="@+id/Tv_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="菜单"
/>
</LinearLayout>