`
freedomray
  • 浏览: 33145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android.R对应的资源存放的地点

阅读更多

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即可截图。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics