Android有一系列的预设的例如layout, drawable, id等资源,以方便用户使用。但是在API文档里,往往只有这个资源的int常量,也没有详细的介绍。所以,也不知道各个常量分别对应的是什么效果,很费劲。比如:android.R.layout.activity_list_item。如果没有对应的xml,我们根本不知道这个layout是怎样的一个效果。既然是系统自带的,那么就应该有对应的xml。其实是这样的,系统自带的这些资源的存放位置为:android-sdk-windows\platforms\android-1.5\data\res\layout。
例如,写了一个简单的List Demo程序,就用到了一些android.R中的一些资源常量。
/**
*
*/
package com.cim;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
/**
* @author Administrator
*
*/
public class ListDemo extends ListActivity {
MediaPlayer player = null;
cAdapter strAdapter = null;
String[] names = { "John", "Lily", "Tom", "Neil", "Zack", "Stan", "Zoey",
"Mandy", "Rach", "Sheldon", "Leonard" };
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
if(player == null){
player = MediaPlayer.create(this, R.raw.hello);
}
List<Map> list = new ArrayList<Map>();
for(int i = 0; i < names.length; i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put("icon", android.R.drawable.star_big_on);
map.put("title", names[i]);
list.add(map);
}
setListAdapter(new SimpleAdapter(this,
(List<? extends Map<String, ?>>) list,
android.R.layout.activity_list_item,
new String[]{"title", "icon"},
new int[]{android.R.id.text1, android.R.id.icon}));
getListView().setTextFilterEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add("Quit").setIcon(R.drawable.icon);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
this.finish();
return true;
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
player.start();
System.out.println("#####CLIKED: "
+ l.getItemAtPosition(position).toString());
}
}
效果如图:
//-------------------------------------------------------------------
顺便说一下,使用模拟器截图的方法:
1,首先打开模拟器运行程序;
2,运行tools/ddms.bat,在其界面中选中一个设备列表——一般如果只打开了一个模拟器的话,只会有一个设备,即该模拟器;
3,在菜单栏选择Device-->Screen capture即可截图。
分享到:
相关推荐
Android所有系统资源图标android.R.drawable.xxx查看软件 源码地址:http://blog.csdn.net/dianyueneo/article/details/7197067
在 Android7.0 以前,Android 都是使用 make 来组织各模块的编译,对应的编译 配置文件就是 Android.mk。在 Android7.0 开始,Google 引入了 ninja 和 kati 来编译,为 啥引入 ninja?因为随着 Android 越来越庞大,...
尽可能多的展示了可以视觉化显示的android.R下的资源文件。辅助android程序员在引用系统资源的时候,不知道系统自带资源的名字或者视觉效果。
Android.bp属性和 Android.mk对应关系
Android系统图标android.R.drawable下的所有图标查看软件
android.util.Base64类
使用android.hardware.camera2写的新的自定义相机
查看android.R.drawable图片。点击并显示出名称 UTF-8 android2.2~android4.2
android application framework api源码文件,包含jni的c,c++库文件,api和android.jar包对应
android google api (com.google.android.maps)
Android support.v7包
android4.4.4源码对应的 android.ipr和 android.iml文件
系统用户界面_com.android.systemui,当您误删此文件,您的安卓手机会提示:com.android.systemui已经停止工作,此时您就需要下载此文件,重新安装即可。
谷歌新推出的复合MaterialDesign设计规范的包叫android.support.design.widget 。这是其中TabLayout的典型用法
总共包括的Android电子书有:(里面包括了对应书的代码例程) 1. AndroidApplicationDev_2009 2. AndroidEssentials 3. Android_1.0_eBook 4. Apress - Pro Android 5. begin android2 6. Beginning_Android 7. ...
//设置TabHost的背景图片资源 //mTabHost.setBackgroundResource(R.drawable.bg0); //设置当前显示哪一个标签 mTabHost.setCurrentTab(0); //标签切换事件处理,setOnTabChangedListener ...
SDK Manager.exe无法打开时下载替换
android.jar源码
很久没上传资源了,今天特意把自己收集的,自己用过的资源上传。Android.9png图片制作工具,这个工具是增强版,可以同时处理多张图片,处理的图片不会有黑线。非常的好。
Android的apk文件反编译后,甚多的资源和java文件无法对应,java文件中引用的资源id变成十进制数字。本文将反编译apk的java文件和资源文件重新关联引用对应,使得java文件能准确无误地重新引用资源文件。 (1)将反...