首先Gridview,设置numcols=7,然后设置每页的size为47 ,这样能够保证每页就是4行7列。 然后就是隐藏textview的问题了,这个实现就有多种方法了。 可以自定一个SurfaceView,在这个SurfaceView中添加textview,当然也可以直接,只是多加一层(遮罩层)。要控制好隐藏很简单visibility的Gone和visible就行了。看你的Item的xml布局写的如何了。 要隐藏和显示可以添加淡入淡出或者其他的动画效果。
你可以通过getSelectedItem()获取这个Item绑定的数据,这个数据应该包括(和文字),这样就可以获取到点击的Item里面的文字。也可以调用getSelectedView()通过findViewById()找到这个TextView,调用getText()获取到文字
GirdView的一些属性:
android:numColumns="auto_fit" --------列数设置为自动
android:columnWidth="90dp",----------每列的宽度,也就是Item的宽度
android:stretchMode="columnWidth"------缩放与列宽大小同步
android:verticalSpacing="10dp"----------垂直边距
android:horizontalSpacing="10dp"-------水平边距
GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示,等内容,比如实现九宫格图,用GridView是首选,也是最简单的,
package comexampletestgridview;
import javautilArrayList;
import javautilHashMap;
import javautilList;
import javautilMap;
import androidappActivity;
import androidosBundle;
import androidwidgetGridView;
import androidwidgetSimpleAdapter;
public class MainActivity extends Activity {
private GridView gview;
private List<Map<String, Object>> data_list;
private SimpleAdapter sim_adapter;
// 封装为一个数组
private int[] icon = { Rdrawableaddress_book, Rdrawablecalendar,
Rdrawablecamera, Rdrawableclock, Rdrawablegames_control,
Rdrawablemessenger, Rdrawableringtone, Rdrawablesettings,
Rdrawablespeech_balloon, Rdrawableweather, Rdrawableworld,
Rdrawableyoutube };
private String[] iconName = { "通讯录", "日历", "照相机", "时钟", "游戏", "短信", "铃声",
"设置", "语音", "天气", "浏览器", "视频" };
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayouttest);
gview = (GridView) findViewById(Ridgview);
//新建List
data_list = new ArrayList<Map<String, Object>>();
//获取数据
getData();
//新建适配器
String [] from ={"image","text"};
int [] to = {Ridimage,Ridtext};
sim_adapter = new SimpleAdapter(this, data_list, Rlayoutitem, from, to);
//配置适配器
gviewsetAdapter(sim_adapter);
}
public List<Map<String, Object>> getData(){
//cion和iconName的长度是相同的,这里任选其一都可以
for(int i=0;i<iconlength;i++){
Map<String, Object> map = new HashMap<String, Object>();
mapput("image", icon[i]);
mapput("text", iconName[i]);
data_listadd(map);
}
return data_list;
}
}
parentgetAdapter()getItem(position)
parentgetItemAtPosition(position)
这两个方法都行,返回Object类型,你可以进行一下转型
注:如果你看源码的话会发现其实都是用adaptergetItem(position) 获得的
以上就是关于android GridView 的一个问题,我想把gridview设置成日历,4行7列,怎么实现全部的内容,包括:android GridView 的一个问题,我想把gridview设置成日历,4行7列,怎么实现、怎样在android中取得GridView中一个Item中TextView的值、android gridview怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)