Tag: gridview

CAB上的Android持久网格视图选择器

我有一个使用自定义适配器的GridView,它包含一个包含imageview的relativelayout。 我在gridview上启用了MultiChoiceMode并启用了CAB(Contextual Action Bar)。 这很好用,但是我很难理解如何在我选择的网格项周围显示一个持久的选择器。 我的选择器适用于初始印刷机,但我还没有找到一种方法,它将一直存在,直到该项目被取消选中。 期望:用户长按项目,项目被选中,应用程序进入CAB模式。 按下每个项目时,每个对象周围都会出现一个紫色框架(由XML中的选择器语句定义),直到它们被取消选中。 结果:用户长按项目,项目短暂显示选择器,它消失,用户没有选择或取消选择项目的视觉反馈,即使它已在代码中注册。 我已经尝试了每一个选择器事件,但似乎没有人处理这个。 有任何变通方法吗? 我错过了什么? 通过尝试长按Android 4.0或4.1 Gallery应用程序中的项目来呈现我想要实现的示例 —> API 15 <—

在GridView中修复微小图像?

我正在尝试按照Android开发人员指南/教程实现基本的GridView库。 我的网格中的ImageViews是从用户的相机中获取的位图。 除了我的图像非常小的事实之外,这种方法很好。 我的xml: 我的ImageAdapter public class ImageAdapter extends BaseAdapter { private Context mContext; private ArrayList imgs; public ImageAdapter(Context c, ArrayList arrayList) { mContext = c; imgs = arrayList; } public int getCount() { return imgs.size(); } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } // create […]

Android – 动态gridview(多列绑定行)

我想在Android中实现gridview,它基本上由4列组成(它将与表相似)。 这基本上是分布在4列(name,qty,p1,p2)中的项目列表。 因此每行包含4列,对1个项目是唯一的。 因此,我需要一种方法将这4列绑定在一起,这样当我选择这4列中的任何位置时,将选择整行,同时返回’name’列作为文本ID。 有没有一种简单的方法可以做到这一点? 这是我目前的gridView代码: XML布局: 动态内容的绑定: GridView gridview; static final String[] listItems = new String[] { “name”,”qty”,”p1″,”p2″,”itemname”,”5″,”100″,”1″ }; gridview = (GridView)findViewById(R.id.gvShopCompleteList); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, listItems); gridview.setAdapter(adapter); gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v,int position, long id) { Toast.makeText(getApplicationContext(), ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); } }); 最后,我想添加的另一个function是使标题只读,并突出显示与其他行不同的颜色。 任何帮助将在这里非常感激,我不必使用GridView,但希望尽可能保持通用的android外观(在我的应用程序中一致)。 谢谢。

TYPE_PHONE覆盖视图不允许子GridView捕获onItemClick事件

我的应用程序绘制了一个叠加层,它有一个GridView作为它的孩子。 覆盖onTouch的onTouch事件正在捕获所有点击,并且没有任何内容传递给GridView的onItemClick事件。 创建它的代码是: LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); TaskBarView = inflater.inflate(R.layout.view_overlay, null); TaskBarViewParams = new WindowManager.LayoutParams(TaskBarInactiveWidth, TaskBarHeight, LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT); TaskBarViewParams.gravity = Gravity.LEFT | Gravity.TOP; windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); windowManager.addView(TaskBarView, TaskBarViewParams); 注意:此问题仅在API级别16及更高级别上显示 。 GridView捕获它的onItemClick ,并且叠加正确捕获它的onTouch ,因为它应该低于API级别16。 我错过了一面旗帜吗?

GridView.LayoutParams在不同的屏幕尺寸中是相同的,是否可能?

我创建了一个包含6列和60行的网格视图。 我可以在哪里添加,移动和删除图像。 但是我很难设置列之间的距离(我不希望列之间有任何空格)。 因为它会改变屏幕尺寸的变化。 我为我的手机设置了它,然后在朋友的手机上尝试了它,并且在列之间有10dp。 下面是GridView 编辑的xml :如果我在一个较小的手机中尝试它,那么图像在哪里可以适应单元格。 下面是布局的java代码 ImageCell v = null; if (convertView == null) { v = new ImageCell (mContext); v.setLayoutParams(new GridView.LayoutParams(80, 80)); v.setScaleType(ImageView.ScaleType.CENTER_CROP ); } else { v = (ImageCell) convertView; } 我尝试将v.setLayoutParams改为 v.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT )); 和 v.setLayoutParams(new GridView.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 但是这两个让GridView无法使用。 如果有人知道我做错了什么,请告诉我,如果有人需要别的东西也要求它(我不能发布截图)

如何在android中选定的网格视图项上加载新模板

我是android的新手。 我想加载一个新模板,其中包含网格视图对象的选定项目上的两个按钮。 那可能吗。 我在我的项目中添加了一个gridview,并使用基本适配器将模板加载到gridview的每个项目中。 但我想要的是,当我点击gridview项目时,我想要为所选项目加载一个新模板(布局)。 问题已解决 ,以下是编辑的代码 基础适配器 public class KategoriAdapter extends BaseAdapter{ private Context mContext; private String[] categoryValues; private Bitmap[] pictures; //indicate that positon for new template private int mNewTemplatePos = -1; public KategoriAdapter(Context context, String[] categoryValues, Bitmap[] pictures) { this.mContext = context; this.categoryValues = categoryValues; this.pictures = pictures; } //apply new template to […]

Android – OnClick内部gridview行

我正在尝试从gridview项目中的按钮启动一个活动,这意味着当用户点击gridview项目时它应该执行一个function,当用户点击gridview项目内的按钮时,它应该执行另一个function,让我详细说明,这是我的gridview中填充的单项布局; 以下是上述布局的外观: 这是我的适配器getview ,我尝试从中执行intent / actions; @Override public View getView(int position, View view, ViewGroup viewGroup) { View row = view; ViewHolder holder = new ViewHolder(); if (row == null) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(layout, null); holder.txtName = (TextView) row.findViewById(R.id.txtName); holder.txtPrice = (TextView) row.findViewById(R.id.studentid); holder.imageView = (CircularImageView) row.findViewById(R.id.imgFood); holder.dit = (Button) row.findViewById(R.id.editit); […]

在Android中加载文件夹中的所有图像

我想在不知道文件名的情况下将所有图像加载到文件夹中,并将它们存储到整数向量中 – 在运行时。 事实上,我需要像在这个例子中所做的那样: http : //developer.android.com/resources/tutorials/views/hello-gridview.html但是在运行时并且不知道文件的名称。 有帮助吗? 在你的答案之后,我知道该怎么做…但我不知道如何以与例子相同的方式继续: 我怎么能将图像保持在整数数组而不是可绘制的数组或类似? 这是我对drawable的尝试:DrawArray [i] = Drawable.createFromPath(fileArray [i] .getPath()); 但我想用整数来完成它以适应上面的链接! 提前致谢 一般解决方案: http ://www.anddev.org/viewtopic.php?t = 575

ContextMenu是从GridView发起的

只是想知道是否有人可以帮助解决这个问题 – 我正在学习,无法弄明白…… 如果我使用上下文菜单注册GridView对象,如下所示: registerForContextMenu(gridview); 如何确定从菜单中启动的网格中的哪个View对象/方块? 任何帮助将非常感谢

将onClick监听器添加到gridView项目(根据位置启动唯一意图)

我有一个gridView,我想根据点击项目的位置启动不同的意图。 我已经实例化了以下onClick监听器,其中包含position的值: gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Toast.makeText(HelloGridView.this, “” + position, Toast.LENGTH_SHORT).show(); } }); 但我相信我需要在其中添加一个if语句来确定根据此位置启动哪个意图。 到目前为止,我已经提出了以下内容,但我不相信它正是我正在寻找的。 if position = 1 { Intent intent = new Intent(this, Activity1.class); }else if position = 2 { Intent intent = new Intent(this, Activity1.class); } 任何建议都非常感谢。 / ** *此活动显示一个带有网格的屏幕,可在其中添加图像并*移动图像。 它还定义了屏幕上可以删除拖动视图的区域。 当对象被拖过这些拖放区域时,将向用户提供反馈。 […]