android 画廊进入网格样式菜单

2023-12-03

大家好,请帮我解决有关 android 中的菜单的问题。我想将此画廊作为我的应用程序的网格菜单。请指导我如何将名称放在图像下方,如果我单击特定图像,则应打开新活动,最后单击菜单按钮将我带回主屏幕

here is the image enter image description here

这是代码

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class DisplayViewsExample extends Activity
{    
    //---the images to display---
    Integer[] imageIDs = {
            R.drawable.pic1,
            R.drawable.pic2,
            R.drawable.pic3,
            R.drawable.pic4,
            R.drawable.pic5,
            R.drawable.pic6,
            R.drawable.pic7                    
    };

    @Override    
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.displayview);

        GridView gridView = (GridView) findViewById(R.id.gridview);
        gridView.setAdapter(new ImageAdapter(this));

        gridView.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView parent, 
            View v, int position, long id) 
            {                
                Toast.makeText(getBaseContext(), 
                        "pic" + (position + 1) + " selected", 
                        Toast.LENGTH_SHORT).show();
            }
        });        
    }

    public class ImageAdapter extends BaseAdapter 
    {
        private Context context;

        public ImageAdapter(Context c) 
        {
            context = c;
        }

        //---returns the number of images---
        public int getCount() {
            return imageIDs.length;
        }

        //---returns the ID of an item--- 
        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        //---returns an ImageView view---
        public View getView(int position, View convertView, ViewGroup parent) 
        {
            ImageView imageView;
            if (convertView == null) {
                imageView = new ImageView(context);
                imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(5, 5, 5, 5);
            } else {
                imageView = (ImageView) convertView;
            }
            imageView.setImageResource(imageIDs[position]);
            return imageView;
        }
    }    
}

这是 XML

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gridview"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
/>

您需要使用自定义适配器而不是ImageAdapter,并添加一个垂直LinearLayout与图像和标签。查看BaseAdapter api: http://developer.android.com/reference/android/widget/BaseAdapter.html

对于点击事件,使用OnItemClickAdapter: http://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 画廊进入网格样式菜单 的相关文章

随机推荐

  • 如何使用具有相应别名的java代码在密钥库中仅存储公钥?

    我已经创建了密钥库 我只想在密钥库中存储公钥 并且不想存储私钥 因为私钥将位于客户端设备中 并且他将使用rest API共享公钥 另外 我应该如何在一个密钥库中保留多个公钥 具有不同的别名 如果有人有示例代码或示例链接 那将对我很有帮助 这
  • Java 中可靠且快速的 FFT [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 因为我不想自己做 所以我正在寻找一个好的 Java 的 FFT 实现 首先我在这里使用这个FFT普林斯顿但它使用对象 我的分析器告诉我 由于这个事实 它并不是很快 于是我又用谷歌搜索
  • 使用VSTO读取Excel中的ActiveCell内容

    我正在尝试从 Excel 加载项中读取 ActiveCell 但没有走得太远 有人有什么想法吗 Excel Window W this Application ActiveWindow as Excel Window Excel Range
  • 上传图片MVC始终为空

    大家好 我正在尝试上传一个简单的图像 但 HttpPostedFileBase 始终保持为空 这是我的代码 我不知道我做错了什么 这是我在设计视图中的代码 fieldset legend PictureModel legend div cl
  • 常量和 Matlab Coder

    在 Matlab Coder 中运行时 某些函数要求输入为常量 我希望找到一种方法在输入之前将输入声明为常量作为有问题的情况的示例 function foo subsubfunction x y B A butter 1 x y 这将返回错
  • 将地图图钉添加到 Google 地图 Android 的最佳方法

    我已成功添加图钉 但当用户单击地图并提供新位置时需要刷新图钉 我收到错误 请记住 我需要在后台发生此操作 以便它不会影响地图交互 我的问题是 当用户单击地图时 地图图钉列表已经更新 我得到一个ConcurrentModificationEx
  • 使用 HTML5 设置视频播放时长

    我有一个使用 TimeJump js 的简单 HTML5 视频播放器 http davatron5000 github io TimeJump 以允许直接跳转到特定时间代码 IE 跳转到视频的第 25 分钟 我想添加对视频播放时长的限制 因
  • 上传文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何在网页上实现文件上传进度条 Hello 我见过很多网页 用户可以上传文件 并且会得到某种进度作为视觉反馈 水平条 百分比等 我的 html 表单是
  • 通过连接传播 pandas 系列元数据

    我希望能够将元数据附加到一系列数据帧 特别是原始文件名 以便在加入两个数据帧后我可以看到有关每个系列来自何处的元数据 我看到 github 问题有关 metadata here here 包括一些与当前相关的 metadata属性 here
  • 从 .odt 文件填充 QTextDocument

    我正在使用 C 和 Qt 编写一个富文本编辑器 目前 我希望它支持 至少 odt 格式 我发现 QTextDocumentWriter 用于将 QTextDocument 的内容写入文件 但我似乎找不到任何东西可以将其读回到 QTextDo
  • 从类外部访问类属性

    假设我有以下课程 class MyClass public function Talk Say Something return Say 然后我启动了该类的一个实例 Inst new MyClass 现在 我如何在 MyClass 之外调用
  • Pandas 非常简单 分组总大小的百分比

    我在看似极其简单的操作中遇到了麻烦 通过诸如此类的操作从组中获取总数百分比的最简洁方法是什么df groupby col1 size 分组后我的 DF 看起来像这样 我只想要总数的百分比 我记得过去使用过此语句的变体 但现在无法使其工作 p
  • PHP 短标签可以使用吗?

    这是信息根据官方文档 有四对不同的 可以是开始和结束标签 在 PHP 中使用 其中两个 and 随时可用 另外两个 是短标签和 ASP 样式标签 并且 可以从打开和关闭 php ini 配置文件 像这样 虽然有些人发现短标签并且 ASP风格
  • 如何防止过度打字

    我正在尝试用 C 制作一个简单的聊天应用程序 它可以工作 但是 如果有人在其他人打字时输入某些内容 它就像写了他们正在输入的内容 我链接了图片作为下面的示例 我用于客户端和服务器的代码可以在这里找到 Client Server 图片 Bef
  • Python:获取插入符位置[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在尝试获取 Python 中的插入符号位置 我尝试使用win32gui GetCaretPos 但它总是返回 0 0 您有什么想法让它发挥作用吗 谢谢 克里斯 如果插入符号位于另
  • 在 C# 中显示数据库中列表框中的项目

    我有一个包含两个表的数据库Countries and Websites 我使用以下语句显示 listbox1 中的所有国家 地区名称 try connection Open using OleDbCommand command new Ol
  • Php 西里尔字符串长度加倍其值

    你好 这是问题所在 当我到达 POST 拉丁字符串 strilen 时效果很好 但是当我到达西里尔字符串 strlen 时其值加倍 这里是代码 word POST word echo strlen word br input abc gt
  • 使用 Eval 在 TemplateField 中显示毫秒

    我有一个提交的模板 如下所列 我还需要显示日期时间的毫秒部分 我读过有关dateValue ToString fff 格式为http msdn microsoft com en us library bb882581 aspx How to
  • iPhone 版的PasswordDeriveBytes(.net 2.0)

    我想在iPhone中使用 NET 2 0的PasswordDeriveBytes RSA PBKDF1 我怎样才能实现同样精确的实现 有没有相关的方法或库 我特别想要它使用盐 Thanks 由于 MS 实现并不完全遵循 PKCS 5 规范
  • android 画廊进入网格样式菜单

    大家好 请帮我解决有关 android 中的菜单的问题 我想将此画廊作为我的应用程序的网格菜单 请指导我如何将名称放在图像下方 如果我单击特定图像 则应打开新活动 最后单击菜单按钮将我带回主屏幕 here is the image 这是代码