简单实现设置Gridview默认选中状态
来源:互联网 发布:全知之眼 x-filex 编辑:程序博客网 时间:2024/05/16 10:20
main.XMl
Gridview item Xml
mainActiviy
- XML code
- <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical" android:id="@+id/loginRoot" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:gravity="center_horizontal" android:background="@drawable/transition_line" android:layout_width="fill_parent" android:layout_height="wrap_content"> </LinearLayout> <!-- 中间动态加载View --> <ScrollView android:measureAllChildren="true" android:id="@+id/containerBody" android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent"> </ScrollView> <GridView android:id="@+id/GridView_toolbar" android:layout_height="60dip" android:layout_width="fill_parent" android:layout_alignParentBottom="true"> </GridView></LinearLayout>
Gridview item Xml
- XML code
- <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout_Item" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="10dip"> <ImageView android:id="@+id/item_image" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="27dip"></ImageView> <TextView android:layout_below="@id/item_image" android:id="@+id/item_text" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="13dip"></TextView> </RelativeLayout>
mainActiviy
- Java code
- package com.android.cyts.travel.publics.common;import java.util.ArrayList;import java.util.HashMap;import android.content.Intent;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.view.Window;import android.widget.AdapterView;import android.widget.GridView;import android.widget.ImageView;import android.widget.ScrollView;import android.widget.SimpleAdapter;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener;import android.app.ActivityGroup;/** * * @author * @created */public class MainMenuActivity extends ActivityGroup { /** 默认首页状态 */ private boolean status; private boolean pagehomestatus; /** 动态加载的容器 */ private ScrollView container; /** 菜单 */ private GridView menubarGrid; private Intent intent = null; private showImage topImgAdapter; private FootBarAdapter footbarAdapter; private final int TOOLBAR_ITEM_PAGEHOME = 0; private final int TOOLBAR_ITEM_PHOTO = 1; private final int TOOLBAR_ITEM_TRAVEL = 2; private final int TOOLBAR_ITEM_MAP = 3; private final int TOOLBAR_ITEM_INFORMATION = 4; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); container = (ScrollView) findViewById(R.id.containerBody); showMenu(); subActivity(); } /** 底部菜单图片 **/ int[] menu_toolbar_image_array = { R.drawable.pagehome, R.drawable.photo, R.drawable.travel, R.drawable.map, R.drawable.information }; /** 底部菜单文字 **/ String[] menu_toolbar_name_array = { "!!", "!!", "!!", "!!", "!!" }; public void showMenu() { intent = new Intent(); // 创建底部菜单 Toolbar menubarGrid = (GridView) findViewById(R.id.GridView_toolbar); menubarGrid.setBackgroundResource(R.drawable.bg);// 设置背景 menubarGrid.setNumColumns(5);// 设置每行列数 menubarGrid.setGravity(Gravity.CENTER);// 位置居中 menubarGrid.setVerticalSpacing(10);// 垂直间隔 menubarGrid.setHorizontalSpacing(10);// 水平间隔 int width = this.getWindowManager().getDefaultDisplay().getWidth() / menu_toolbar_image_array.length; topImgAdapter = new showImage(this, menu_toolbar_image_array, width, 50, R.drawable.headlogo); // menubarGrid.setAdapter(topImgAdapter); menubarGrid.setAdapter(getMenuAdapter(menu_toolbar_name_array, menu_toolbar_image_array));// 设置菜单Adapter menubarGrid.setSelector(new ColorDrawable(Color.TRANSPARENT)); /** 监听底部菜单选项 **/ menubarGrid.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { status = true;// Toast.makeText(MainMenuActivity.this,// menu_toolbar_name_array[arg2], Toast.LENGTH_SHORT)// .show(); footbarAdapter.setSelectedPosition(arg2); // topImgAdapter.SetFocus(arg2); footbarAdapter.notifyDataSetInvalidated();// footbarAdapter.SetFocus(arg2); switch (arg2) { case TOOLBAR_ITEM_PAGEHOME: intent.setClass(MainMenuActivity.this, ****.class); break; case TOOLBAR_ITEM_PHOTO: pagehomestatus=false; intent.setClass(MainMenuActivity.this, ****.class); break; case TOOLBAR_ITEM_TRAVEL: pagehomestatus=false; intent.setClass(MainMenuActivity.this, ****.class); break; case TOOLBAR_ITEM_MAP: pagehomestatus=false; intent.setClass(MainMenuActivity.this, ****.class); break; case TOOLBAR_ITEM_INFORMATION: pagehomestatus=false; intent.setClass(MainMenuActivity.this, Information.class); // toolbarGrid.setVisibility(View.GONE);//隐藏菜单View.VISIBLE break; } if(!pagehomestatus) subActivity(); } }); } /** * 动态添加内容 */ public void subActivity() { if (status == false) { intent.setClass(MainMenuActivity.this, PageHome.class); pagehomestatus=true; } container.removeAllViews(); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Activity 转为 View Window subActivity = getLocalActivityManager().startActivity( "subActivity", intent); // 容器添加View container.addView(subActivity.getDecorView(), LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); } /** * 构造菜单Adapter * * @param menuNameArray * 名称 * @param imageResourceArray * 图片 * @return SimpleAdapter */ private SimpleAdapter getMenuAdapter(String[] menuNameArray, int[] imageResourceArray) { ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < menuNameArray.length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("itemImage", imageResourceArray[i]); map.put("itemText", menuNameArray[i]); data.add(map); }// SimpleAdapter simperAdapter = new SimpleAdapter(MainMenuActivity.this,// data, R.layout.item_menu, new String[] { "itemImage",// "itemText" }, new int[] { R.id.item_image,// R.id.item_text });// return simperAdapter; footbarAdapter = new FootBarAdapter(this, data, R.layout.item_menu, new String[] { "itemImage", "itemText" }, new int[] { R.id.item_image, R.id.item_text }); return footbarAdapter; }}
- Java code
package com.android.cyts.travel.publics.common;import java.util.ArrayList;import java.util.List;import java.util.Map;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.SimpleAdapter;/** * @author * @created on * @version $Id$ */public class FootBarAdapter extends SimpleAdapter { private View v; private ArrayList<View> av = new ArrayList<View>(); public FootBarAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); }// public void SetFocus(int index) {// for (int i = 0; i < 5; i++) {// if (i != index) {// av.get(i).setBackgroundResource(0);// 恢复未选中的样式// }// }// av.get(index).setBackgroundResource(R.drawable.headlogo);// 设置选中的样式// x=0;// } private int selectedPosition = 0;// 选中的位置 public void setSelectedPosition(int position) { selectedPosition = position; } int x = 0; public View getView(int position, View convertView, ViewGroup parent) { v = super.getView(position, convertView, parent); x++; if (position == selectedPosition) { v.setBackgroundResource(R.drawable.headlogo); } else{ v.setBackgroundResource(0); }// System.out.println("_---" + x);// System.out.println("_+++" + position);// if (x >= 2 && x <= 6) {// av.add(v);// }// System.out.println("!!!" + av.size()); return v; }}
- 简单实现设置Gridview默认选中状态
- GridView 设置选中状态
- jq设置checkbox默认选中状态
- jQuery设置radio默认选中状态及获取选中值
- XtraGrid GridView设置默认选中的行颜色
- GridView选中状态
- 设置struts的html:radio默认为选中状态
- iOS UITableView 和 UICollectionView 设置默认选中状态
- android gridview取消默认选中
- android GridView默认选中分析
- checkbox 设置默认选中
- 设置cell默认选中
- RadioGroup-- 设置默认选中
- Angular4_select设置默认选中
- _tableView 默认全部选中状态
- CListCtrl 设置选中状态
- CListCtrl 设置选中状态
- ListView设置选中状态
- HibernateSystemException异常问题
- int的取值范围
- Linux VMware tools工具包的安装
- C#字符串与unicode互相转换
- 存储过程:迭代
- 简单实现设置Gridview默认选中状态
- 《参禅与悟道》——浅谈人生
- redis命令中文手册
- QSlider中的快捷键问题
- Weblogic 配置SSL启动报错
- android UI 遮罩层 VS 事件阻塞列表
- 远程桌面无法复制文本时解决办法
- poj 1947 Rebuilding Roads 树形dp加背包
- ifream的使用