1. package com.example.yanlei.my1;
  2.  
  3. import android.app.AlertDialog;
  4. import android.content.Context;
  5. import android.content.pm.ApplicationInfo;
  6. import android.content.pm.PackageManager;
  7. import android.os.Bundle;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.view.Menu;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12. import android.view.ViewGroup;
  13. import android.widget.AdapterView;
  14. import android.widget.AdapterView.OnItemClickListener;
  15. import android.widget.AdapterView.OnItemSelectedListener;
  16. import android.widget.BaseAdapter;
  17. import android.widget.GridView;
  18. import android.widget.ImageView;
  19. import android.widget.LinearLayout;
  20. import android.widget.TextView;
  21.  
  22. public class MainActivity extends AppCompatActivity {
  23.  
  24. private MainActivity ard=this;
  25. private LinearLayout mainView=null;
  26. private TextView tv=null;
  27. private GridView gv=null;
  28. private int id=0x01080000;
  29.  
  30. public void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. mainView=new LinearLayout(this);
  33. mainView.setOrientation(LinearLayout.VERTICAL);
  34. tv=new TextView(this);
  35. tv.setText("这里显示图标名称和id及其尺寸");
  36. gv_init();
  37. mainView.addView(tv);
  38. mainView.addView(gv);
  39. setContentView(mainView);
  40. }
  41.  
  42. /*gv初始化*/
  43. void gv_init(){
  44. gv=new GridView(this);
  45. GridView.LayoutParams lp=new GridView.LayoutParams(-1,-1);
  46. gv.setLayoutParams(lp);
  47. gv.setNumColumns(GridView.AUTO_FIT);
  48. gv.setVerticalSpacing(10);
  49. gv.setHorizontalSpacing(10);
  50. gv.setAdapter(new ImageAdapter(this));
  51. gv.setFocusableInTouchMode(true);
  52. gv.setOnItemClickListener(new OnItemClickListener(){
  53. public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
  54. tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");
  55. tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");
  56. tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");
  57. }
  58. });
  59. gv.setOnItemSelectedListener(new OnItemSelectedListener(){
  60. public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
  61. tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");
  62. tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");
  63. tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");
  64. }
  65. public void onNothingSelected(AdapterView<?> arg0) {
  66.  
  67. }
  68. });
  69. }
  70.  
  71. class MyThread extends Thread{
  72.  
  73. }
  74.  
  75. /*ImageAdapter*/
  76. public class ImageAdapter extends BaseAdapter {
  77.  
  78. private Context context;
  79.  
  80. public ImageAdapter(Context c) {context = c;}
  81.  
  82. public int getCount() {return 152;}
  83. public Object getItem(int position) {return position;}
  84. public long getItemId(int position) {return position;}
  85.  
  86. public View getView(int position, View convertView, ViewGroup parent) {
  87. ImageView iv = new ImageView(context);
  88. iv.setLayoutParams(new GridView.LayoutParams(-2,-2));
  89. id=0x01080000+position;
  90. iv.setImageResource(id);
  91. iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
  92. return iv;
  93. }
  94. }
  95.  
  96. public String getApplicationName() {
  97. PackageManager packageManager = null;
  98. ApplicationInfo applicationInfo = null;
  99. try {
  100. packageManager = getApplicationContext().getPackageManager();
  101. applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
  102. } catch (PackageManager.NameNotFoundException e) {
  103. applicationInfo = null;
  104. }
  105. String applicationName =
  106. (String) packageManager.getApplicationLabel(applicationInfo);
  107. return applicationName;
  108. }
  109. public void ShowMessage(String str) {
  110. new AlertDialog.Builder(this)
  111. .setTitle(getApplicationName())
  112. .setMessage(str)
  113. .show();
  114.  
  115. }
  116.  
  117. @Override
  118. public boolean onCreateOptionsMenu(Menu menu) {
  119. // Inflate the menu; this adds items to the action bar if it is present.
  120. getMenuInflater().inflate(R.menu.menu_main, menu);
  121.  
  122. return true;
  123. }
  124.  
  125. @Override
  126. public boolean onOptionsItemSelected(MenuItem item) {
  127. // Handle action bar item clicks here. The action bar will
  128. // automatically handle clicks on the Home/Up button, so long
  129. // as you specify a parent activity in AndroidManifest.xml.
  130. int id = item.getItemId();
  131.  
  132. //noinspection SimplifiableIfStatement
  133. if (id == R.id.action_settings) {
  134. return true;
  135. }
  136.  
  137. return super.onOptionsItemSelected(item);
  138. }
  139. }

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. 实战:ajax带参数请求slim API

    restful api 支持get,post,put,delete等方法,那么jquery客户端怎么去实现呢?涉及到跨域又怎么办? 很多时候需要传递一个token(api_key) 去识别用户身份,获 ...

  2. [C#]LDAP验证用户名和密码

    测试环境:VS2008, NET Framework 3.5 公司打算改用LDAP来存储用户名和密码,现在用C#测试下如何能拿到LDAP中的用户名,并检测用户密码是否正确.即输入用户名和密码,可以检验 ...

  3. Sidekiq任务堵塞问题

    今天发现服务器上的sidekiq 线程全忙.队列里任务积累了好多. sidekiq里的任务基本都是爬虫脚本,都需要请求外部网站.但是有些网站的响应时间或者读取时间太久,一直一直卡在那里.使得后面的任务 ...

  4. zepto - slice

    var ss = ['1', '2', '3', '4', '5', '6']; console.log(ss.slice(2,4));

  5. Java知多少(105)套接字(Socket)

    网络应用模式主要有: 主机/终端模式:集中计算,集中管理: 客户机/服务器(Client/Server,简称C/S)模式:分布计算,分布管理: 浏览器/服务器模式:利用Internet跨平台. www ...

  6. 七牛portal可用性测试记

    引言:2013年年底应七牛公司朋友的邀请,给他们的Portal进行可用性测试.七牛(http://www.qiniu.com/)一直专注于云存储基础服务,在业内颇有声誉.七牛云存储的后台选用并不常用的 ...

  7. 正确理解静态Static关键字

    与其他语言不通,C#没有全局变量和全局函数的感念,C#的所有字段和方法都出现在一个类的上下文中,在C#中与全局字段或函数等价的就是静态字段或方法.“全局字段或方法”与“C#的静态字段或方法”没有功能上 ...

  8. Android自定义之TextView跑马灯的监听

    TextView都有跑马灯的效果,如果说让你去监听跑马灯效果的执行,我觉得这个需求有点二了,但是也要实现. 思路: 1.自定义View  继承TextView   这种方法过于麻烦,只是监听一个跑马灯 ...

  9. gcview使用

    1.下载适用的版本 https://github.com/chewiebug/GCViewer Supported verbose:gc formats are: Oracle JDK 1.8 -Xl ...

  10. [C#] 谈谈异步编程async await

    为什么需要异步,异步对可能起阻止作用的活动(例如,应用程序访问 Web 时)至关重要. 对 Web 资源的访问有时很慢或会延迟. 如果此类活动在同步过程中受阻,则整个应用程序必须等待. 在异步过程中, ...