package com.example.yanlei.my1;

import android.app.AlertDialog;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView; public class MainActivity extends AppCompatActivity { private MainActivity ard=this;
private LinearLayout mainView=null;
private TextView tv=null;
private GridView gv=null;
private int id=0x01080000; public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainView=new LinearLayout(this);
mainView.setOrientation(LinearLayout.VERTICAL);
tv=new TextView(this);
tv.setText("这里显示图标名称和id及其尺寸");
gv_init();
mainView.addView(tv);
mainView.addView(gv);
setContentView(mainView);
} /*gv初始化*/
void gv_init(){
gv=new GridView(this);
GridView.LayoutParams lp=new GridView.LayoutParams(-1,-1);
gv.setLayoutParams(lp);
gv.setNumColumns(GridView.AUTO_FIT);
gv.setVerticalSpacing(10);
gv.setHorizontalSpacing(10);
gv.setAdapter(new ImageAdapter(this));
gv.setFocusableInTouchMode(true);
gv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");
tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");
tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");
}
});
gv.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");
tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");
tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");
}
public void onNothingSelected(AdapterView<?> arg0) { }
});
} class MyThread extends Thread{ } /*ImageAdapter*/
public class ImageAdapter extends BaseAdapter { private Context context; public ImageAdapter(Context c) {context = c;} public int getCount() {return 152;}
public Object getItem(int position) {return position;}
public long getItemId(int position) {return position;} public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv = new ImageView(context);
iv.setLayoutParams(new GridView.LayoutParams(-2,-2));
id=0x01080000+position;
iv.setImageResource(id);
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
return iv;
}
} public String getApplicationName() {
PackageManager packageManager = null;
ApplicationInfo applicationInfo = null;
try {
packageManager = getApplicationContext().getPackageManager();
applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
applicationInfo = null;
}
String applicationName =
(String) packageManager.getApplicationLabel(applicationInfo);
return applicationName;
}
public void ShowMessage(String str) {
new AlertDialog.Builder(this)
.setTitle(getApplicationName())
.setMessage(str)
.show(); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu); return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId(); //noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
} return super.onOptionsItemSelected(item);
}
}

andriod 获得drawable下所有图片的更多相关文章

  1. 图片应该放在drawable-hdpi下不要放在drawable下

    图片应该放在drawable-hdpi下或者mipmap-hdpi 不要放在drawable下,要不然显示有些不同

  2. 【linux基础】生成目录下所有图片的路径

    command ls *.jpg > list.txt result .png .png .png .png .png command ls /home/xxx/input/*.png > ...

  3. android将drawable下的图片转换成bitmap

    将drawable下的图片转换成bitmap 1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xx ...

  4. matlab遍历文件夹下所有图片和遍历所有子文件夹下图片

    做图像处理实验,经常需要遍历当前文件下所有图片.matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的.函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文 ...

  5. Android 将drawable下的图片转换成bitmap、Drawable

    将drawable下的图片转换成bitmap . Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xxx ...

  6. Windows下对文件夹下所有图片批量重命名(附C++,python,matlab代码)

    https://blog.csdn.net/u011574296/article/details/72956446: Windows下对文件夹下所有图片批量重命名(附C++,python,matlab ...

  7. [Python]爬虫获取知乎某个问题下所有图片并去除水印

    获取URL 进入某个知乎问题的主页下,按F12打开开发者工具后查看network面板. network面板可以查看页面向服务器请求的资源.资源的大小.加载资源花费的时间以及哪些资源加载失败等信息.还可 ...

  8. Python——用os模块寻找指定目录(包括子目录)下所有图片文件

    import os # 导入os模块 def search_file(start_dir): img_list = [] extend_name = ['.jpg', '.png', '.gif'] ...

  9. C# 遍历文件夹及子目录下所有图片.

    要求:取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径. 服务端代码: public partial class ViewIcon : System.Web.UI.Page { JAr ...

随机推荐

  1. 本人第一个开源代码,NETSpider 网络蜘蛛采集工具

    NETSpider网站数据采集软件是一款基于.Net平台的开源软件.软件部分功能是基本Soukey软件进行开发的.这个版本采用VS2010+.NET3.5进行开发的.NETSpider采摘当前提供的主 ...

  2. 安卓开发笔记——Fragment+ViewPager组件(高仿微信界面)

    什么是ViewPager? 关于ViewPager的介绍和使用,在之前我写过一篇相关的文章<安卓开发复习笔记——ViewPager组件(仿微信引导界面)>,不清楚的朋友可以看看,这里就不再 ...

  3. 多个Storyboard的使用

    创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰.简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程 ...

  4. JavaScript进阶内容1:各种对象类型判断

    该文章主要用来介绍JavaScript中常用的一些对象检测判断方法,整理资源来自书本和网络,如有错误或说明不详之处,望评论提出,本菜定提名感谢……(本文章知识比较基础,大牛请提些意见再绕道,三克油^_ ...

  5. MyEclipse for Spring启动时报错"An internal error occurred during: 'Updating indexes'.Java heap space"的解决办法

    问题 MyEclipse for Spring在启动时,报如下错误:An internal error occurred during: 'Updating indexes'.Java heap sp ...

  6. vim 图解常用快捷键操作

    图片太大,可以将图片另存后看或者右键点击,选择查看图片.

  7. 【转载】Debian 6安装小记

    转载自:http://unix-cd.com/vc/www/22/2011-06/18022.html 今天终于装上了 debian6,代号叫squeeze是吧?前几天的时候在Microhu’s Bl ...

  8. 连接不上mysqlworkbench问题解决方法

    连接mysqlworkbench出现如下提示:     查看ip     加入host的范围 mysql> select user,host from mysql.user;+--------- ...

  9. [Bootstrap]7天深入Bootstrap(1)入门准备

    由于申请了一个域名,一个云主机,开始弄个人网站. 发现Bootstrap非常方便,和重要,故开始学习与分享关于Bootstrap的技术. 推个广告 个人网站:http://www.neverc.cn ...

  10. .Net一般处理程序来实现用户名的验证

    一般处理程序 在说一般处理程序之前,先来看看什么是aspx.在vs中,使用的大多是aspx页面.aspx页面就是在接收到一个请求之后,将返回的结果生成一个html页面返回给服务器.当我们有时候需要自己 ...