广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android 九宫格的实现方法

    2018-04-07 07:49:11 次阅读 稿源:互联网
    广告

    1、xml代码:
    代码如下:

    <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:layout_weight="1.0"
          android:background="@drawable/yellow"
          >
     <ImageView android:id="@+id/ImageView01"
                android:layout_width="100sp"
                android:layout_height="100sp"
                android:layout_gravity="center_vertical"
                android:background="@drawable/a"></ImageView>  
     <GridView
         android:id="@+id/gridview" 
         android:layout_width="wrap_content"   
         android:layout_height="wrap_content" 
         android:numColumns="3" 
         android:verticalSpacing="30dip" 
         android:horizontalSpacing="10dip" 
         android:columnWidth="90dip"
         android:stretchMode="columnWidth"
         android:gravity="center"
         android:listSelector="@drawable/c"
         >
     </GridView>
     </LinearLayout>

       其中android:numColumns="3"  代表九宫格的列数  auto_fit时为自动

    2、实现代码
    代码如下:

    public class MainActivity extends Activity {

         /** Called when the activity is first created. */

         @Override
         protected void onCreate(Bundle savedInstanceState) {
             // TODO Auto-generated method stub
             super.onCreate(savedInstanceState);
             // 设置屏幕没有标题
             this.requestWindowFeature(Window.FEATURE_NO_TITLE);
             // 去掉标题栏
             this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                     WindowManager.LayoutParams.FLAG_FULLSCREEN);
             setContentView(R.layout.activity_main);

             GridView gridview = (GridView) findViewById(R.id.gridview);
             // 创建一个数组列表对象
             ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();

             /**
              * 为每个格子添加内容
              */
             for (int i = 1; i < 10; i++) {
                 HashMap<String, Object> map = new HashMap<String, Object>();// 建立hashmap对象

                 if (i == 1) {
                     map.put("ItemImage", R.drawable.g11);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview1));
                 }

                 if (i == 2) {
                     map.put("ItemImage", R.drawable.g12);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview2));
                 }

                 if (i == 3) {
                     map.put("ItemImage", R.drawable.g13);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview3));
                 }

                 if (i == 4) {
                     map.put("ItemImage", R.drawable.g14);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview4));
                 }

                 if (i == 5) {
                     map.put("ItemImage", R.drawable.g15);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview5));
                 }

                 if (i == 6) {
                     map.put("ItemImage", R.drawable.g16);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview6));
                 }

                 if (i == 7) {
                     map.put("ItemImage", R.drawable.g17);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview7));
                 }

                 if (i == 8) {
                     map.put("ItemImage", R.drawable.g18);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview8));
                 }

                 if (i == 9) {
                     map.put("ItemImage", R.drawable.g19);
                     map.put("ItemText", getResources()
                             .getString(R.string.gridview9));
                 }

                 lstImageItem.add(map);
             }

             /**
              * 为GridView建立SimpleAdapter适配器
              */
             // SimpleAdapter()中的五个参数分别是:第一个context,第二个数据资源,第三个每一个子项的布局文件,第四个每一个子项中的Key数组
             // 第五个每一个子项中的Value数组
             SimpleAdapter saImageItems = new SimpleAdapter(this, lstImageItem,
                     R.layout.grid_item, new String[] { "ItemImage", "ItemText" },
                     new int[] { R.id.ItemImage, R.id.ItemText });
             gridview.setAdapter(saImageItems);// 添加适配器
             gridview.setOnItemClickListener(new ItemClickListener());// 为每一个子项设置监听
         }

         class ItemClickListener implements OnItemClickListener {
             @SuppressWarnings("unchecked")
             public void onItemClick(AdapterView<?> arg0,// The AdapterView where the
                                                         // click happened
                     View arg1,// The view within the AdapterView that was clicked
                     int arg2,// The position of the view in the adapter
                     long arg3// The row id of the item that was clicked
             ) {
                 HashMap<String, Object> item = (HashMap<String, Object>) arg0
                         .getItemAtPosition(arg2);
                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview1))) {
                     Toast.makeText(MainActivity.this, R.string.gridview1,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview2))) {
                     Toast.makeText(MainActivity.this, R.string.gridview2,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview3))) {
                     Toast.makeText(MainActivity.this, R.string.gridview3,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview4))) {
                     Toast.makeText(MainActivity.this, R.string.gridview4,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview5))) {
                     Toast.makeText(MainActivity.this, R.string.gridview5,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview6))) {
                     Toast.makeText(MainActivity.this, R.string.gridview6,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview7))) {
                     Toast.makeText(MainActivity.this, R.string.gridview7,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview8))) {
                     Toast.makeText(MainActivity.this, R.string.gridview8,
                             Toast.LENGTH_LONG).show();
                 }

                 if (item.get("ItemText").equals(
                         getResources().getString(R.string.gridview9))) {
                     Toast.makeText(MainActivity.this, R.string.gridview9,
                             Toast.LENGTH_LONG).show();
                 }
             }
         }

     }

    3、实现效果如图所示

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告