×

android gridview 点击

android gridview(如何设置 android gridview 怎么设置 , 一些item可以点击,另外..)

admin admin 发表于2023-08-05 00:17:02 浏览62 评论0

抢沙发发表评论

本文目录

如何设置 android gridview 怎么设置 , 一些item可以点击,另外..

这个要在代码中进行设置,基本上有两种方式:

  1. 在GridView所在的 activity(或者fragment)中, 找到该View,监听点击事件:

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {    @Override    public void onItemClick(AdapterView《?》 parent, View view, int position, long id) {        //点击item触发,进行判断,如果需要处理点击,就进行处理,否则,什么也不做        if(/*处理点击条件*/){            //要做的事            }    }});

  2. 在自己写的GridView对应的适配器中(一般继承于BaseAdapter)的getView中进行判断,如果是需呀处理的item, 就调用setOnClickListener,并定义相应的点击事件,否则可以不绑定点击事件。

android怎么让gridview有边框线

gridview有边框线通过设置里面控件的backgroud,也就是边框。通过shape设置。

下面例子来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行, 源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳。

《?xml version="1.0" encoding="utf-8"?》《shape xmlns:android="http://schemas.android.com/apk/res/android" 》        《!-- 圆角 --》    《corners        android:radius="9dp"        android:topLeftRadius="2dp"        android:topRightRadius="2dp"        android:bottomLeftRadius="2dp"        android:bottomRightRadius="2dp"/》《!-- 设置圆角半径 --》        《!-- 渐变 --》    《gradient        android:startColor="@android:color/white"        android:centerColor="@android:color/black"        android:endColor="@android:color/black"        android:useLevel="true"        android:angle="45"        android:type="radial"        android:centerX="0"        android:centerY="0"        android:gradientRadius="90"/》        《!-- 间隔 --》    《padding        android:left="2dp"        android:top="2dp"        android:right="2dp"        android:bottom="2dp"/》《!-- 各方向的间隔 --》        《!-- 大小 --》    《size        android:width="50dp"        android:height="50dp"/》《!-- 宽度和高度 --》        《!-- 填充 --》    《solid        android:color="@android:color/white"/》《!-- 填充的颜色 --》        《!-- 描边 --》    《stroke        android:width="2dp"        android:color="@android:color/black"        android:dashWidth="1dp"        android:dashGap="2dp"/》    《/shape》

android gridview怎么做表格

功能:做表格,根据每个单元格的不同含义,给单元格设置不同的背景色;实现:通过GridView结合BaseAdapter实现;案例源码:第一步,新建一个Android应用:BaseAdapterDemoActivity;第二部,重写main.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" 》 《GridView android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="wrap_content" /》《/LinearLayout》 第三步,在BaseAdapterDemoActivity.java文件中创建MyAdapter,基类是BaseAdapter,如下: package hello.zcping.adapter;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.TextView;public class BaseAdapterDemoActivity extends Activity { private GridView mGridView; private MyAdapter mMyAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupViews(); } public void setupViews() { mMyAdapter = new MyAdapter(); mGridView = (GridView) findViewById(R.id.gridview); mGridView.setAdapter(mMyAdapter); mGridView.setNumColumns(5); } private class MyAdapter extends BaseAdapter { @Override public int getCount() { return 20; } @Override public Object getItem(int arg0) { return arg0; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView mTextView = new TextView(getApplicationContext()); String abc = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" }; int icolor = { Color.GRAY, Color.GREEN, Color.RED, Color.WHITE, Color.YELLOW, Color.GRAY, Color.GREEN, Color.RED, Color.WHITE, Color.YELLOW, Color.GRAY, Color.GREEN, Color.RED, Color.WHITE, Color.YELLOW, Color.GRAY, Color.GREEN, Color.RED, Color.WHITE, Color.YELLOW }; mTextView.setText(abc); mTextView.setTextColor(Color.BLACK); mTextView.setBackgroundColor(icolor); return mTextView; } }} 效果如下:

如何实现android中横向滚动的gridView

法1.直接用tablelayout gridview是根据你每行的单元数自动生成的行数; 法2.可以在代码里根据view数来动态设置列数,比如有10记录可以设置列数为10/3+1,这样就有三行四列了。如果您对我的回答有不满意的地方,还请您继续追问;答题不易,互相理解,互相帮助!

android gridview图片点击事件设置

首先,应该是OnItemClickListener吧。这个事件里有4个参数,publicvoidonItemClick(AdapterView《?》parent,Viewgriditem,intposition,longarg3),其中griditem指你点击的项;position指的是你点击的项在gridview数据源中的索引。如果你想改变原来的图片,则可以这么做(假设你gridview中item的布局文件里只有一个ImageView):ImageViewimage=(ImageView)griditem;image.setBackgroundDrawable(R.drawable.newimage);//这里写新图片资源名称

android开发gridview的item问题

1.android:numColumns="3"可以控制girdview一行显示多少个item。=“3”就一行显示3个。2.让3个item平分并撑满屏幕1)girdview的宽必须设置为match_parentandroid:layout_width="match_parent",确定整个gridview的宽是撑满了整个屏幕宽度的。2)让adapter里面载入的布局宽是android:layout_width="match_parent",gridview会自己进行计算宽度。3)Imageview在adapterview布局中居中,宽也设置为android:layout_width="match_parent"。4)防止图片比item小,可以设置Imageview的android:scaleType="fitXY"会自动拉伸图片。Imageview设置src是根据图片尺寸显示,background是根据view的大小来显示。这可以根据你需求来如果只是显示图片的这样基本就可以了。如果比较复杂的item也只是修改adapterView布局

Android之GridView控制显示多少行以及遇到的怪事

前段时间接到一个需求,要求GridView超过两行只显示两行多余的不显示。但是GridView没有设置多少行的api,只有设置多少列的方法,到处查找资料都类似的case,stakeoverfrow上面也没什么有价值的答案,不过在百度知道竟然看到了一个思路。知道: 第一个方案:说定死列数,算出总数,只有显然不科学,因为我的gridview列数十需要autofit的,随手机屏幕多宽就相应显示多少列。gridview的xml属性 android:numColumns="6"在adapter里重写@Override public int getCount() { return 12; }这样应该行吧

怎样动态设置GridView的宽和高(Android)

  以下两种方式都可以做到:

  一、在xml布局文件中设置,wrap_content即表示根据gridView的内容自使用宽高,代码如下:

 android:layout_width="wrap_content" android:layout_height="wrap_content"

  二、在代码中动态设置,可以在对gridview赋值之后,计算gridview的宽高,然后进行设置:

int height = 20;//此处的高度需要动态计算  int width = 30;//此处的宽度需要动态计算 LinearLayout.LayoutParams linearParams =new LayoutParams(width, height);gridview.setLayoutParams(linearParams); //使设置好的布局参数应用到控件

  需要注意的是:如果你的gridview是嵌套在ScrollView中,那么,你需要重写gridview控件,不然gridview只显示一行的问题(即高度不够),具体重写方式,可以参考下面代码:

/** * @author hnbcinfo * 自定义GridView控件,解决在ListView 或ScrollView中使用GridView导致GridView显示不全的问题 * 当前应用:时间轴中,图片显示 */public class GridViewForScrollView extends GridView {       public GridViewForScrollView(Context context, AttributeSet attrs) {           super(context, attrs);       }         public GridViewForScrollView(Context context) {           super(context);       }         public GridViewForScrollView(Context context, AttributeSet attrs, int defStyle) {           super(context, attrs, defStyle);       }         @Override       public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {             int expandSpec = MeasureSpec.makeMeasureSpec(                   Integer.MAX_VALUE 》》 2, MeasureSpec.AT_MOST);           super.onMeasure(widthMeasureSpec, expandSpec);       }   }

android GridView怎么实现合并行或者达到同样的效果

GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,本文介绍的GridView用法跟前文ListView的极其类似本文需要添加/修改3个文件:main.xml、night_item.xml、JAVA源代码。main.xml源代码如下,本身是个GirdView,用于装载Item: view plaincopyprint?《?xml version="1.0" encoding="utf-8"?》 《GridView xmlns:android="接下来介绍 night_item.xml,这个XML跟前面ListView的ImageItem.xml很类似: view plaincopyprint?《?xml version="1.0" encoding="utf-8"?》 《RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:paddingBottom="4dip" android:layout_width="fill_parent"》 《ImageView android:layout_height="wrap_content" android:id="@+id/ItemImage" android:layout_width="wrap_content" android:layout_centerHorizontal="true"》 《/ImageView》 《TextView android:layout_width="wrap_content" android:layout_below="@+id/ItemImage" android:layout_height="wrap_content" android:text="TextView01" android:layout_centerHorizontal="true" android:id="@+id/ItemText"》 《/TextView》 《/RelativeLayout》 最后就是JAVA的源代码了,也跟前面的ListView的JAVA源代码很类似,不过多了“选中”的事件处理: view plaincopyprint? public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView gridview = (GridView) findViewById(R.id.gridview); //生成动态数组,并且转入数据 ArrayList《HashMap《String, Object》》 lstImageItem = new ArrayList《HashMap《String, Object》》(); for(int i=0;i《10;i++) { HashMap《String, Object》 map = new HashMap《String, Object》(); map.put("ItemImage", R.drawable.icon);//添加图像资源的ID map.put("ItemText", "NO."+String.valueOf(i));//按序号做ItemText lstImageItem.add(map); } //生成适配器的ImageItem 《====》 动态数组的元素,两者一一对应 SimpleAdapter saImageItems = new SimpleAdapter(this, //没什么解释 lstImageItem,//数据来源 R.layout.night_item,//night_item的XML实现 //动态数组与ImageItem对应的子项 new String {"ItemImage","ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID new int {R.id.ItemImage,R.id.ItemText}); //添加并且显示 gridview.setAdapter(saImageItems); //添加消息处理 gridview.setOnItemClickListener(new ItemClickListener()); } //当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件 class ItemClickListener implements OnItemClickListener { 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 ) { //在本例中arg2=arg3 HashMap《String, Object》 item=(HashMap《String, Object》) arg0.getItemAtPosition(arg2); //显示所选Item的ItemText setTitle((String)item.get("ItemText")); } }

android的gridview 怎么控制其高度

1,控制其控件的总体高度,可以通过布局直接设置layout_height,也可以动态赋值给他,但我相信楼主问的不是这个。2,控制每个单元的高度。由于gridview没有直接set单元高度的函数,而gridview是根据adapter动态生成的,所以一般在adapter的getView方法中得到(该方法返回的View的高度),在这里处理即可。