android 开发细节片段

1:查看是否有存储卡插入
[java]  view plain copy
  1. String status=Environment.getExternalStorageState();  
  2. if(status.equals(Enviroment.MEDIA_MOUNTED))  
  3. {  
  4.    说明有SD卡插入  
  5. }  


2、获取屏幕分辨率
[java]  view plain copy
  1. DisplayMetrics  dm = new DisplayMereics();  
  2.   
  3.         getWindowManager().getDefaultDisplay().getMetrics(dm);  
  4.   
  5.         float width = dm.widthPixels * dm.density;  
  6.   
  7.         float height = dm.heightPixels * dm.density  
     在这里问什么要乘以  dm.density   了,是因为通过dm.widthPixels的到的结果始终是320,不是真实的屏幕分辨率,所以要乘以dm.density得到真实的分辨率。

3、在Activity里面播放背景音乐
[java]  view plain copy
  1. public void onCreate(Bundle savedInstanceState) {  
  2.              super.onCreate(savedInstanceState);  
  3.              setContentView(R.layout.mainlay);  
  4.              mediaPlayer = MediaPlayer.create(this, R.raw.mu);  
  5.              mediaPlayer.setLooping(true);  
  6.              mediaPlayer.start();   
  7.                    }  


4、让程序的界面不随机器的重力感应而翻转

                 第一种方法,在manifast文件里面

[html]  view plain copy
  1. <activity  
  2.   android:screenOrientation="portrait">  
  3.   </activity>  
                  第二种,在代码里面

[java]  view plain copy
  1. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    


5、退出程序时清除通知中信息  

[java]  view plain copy
  1. NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);  
  2. nm.cancelAll();  


6、android阴影字体设置

[html]  view plain copy
  1. <TextView  android:id="@+id/tvText1"   
  2.  android:layout_width="wrap_content"   
  3.  android:layout_height="wrap_content"   
  4.  android:text="text1"   
  5.  android:textSize="30sp"   
  6.  android:textStyle="bold"   
  7.  android:textColor="#FFFFFF"   
  8.  android:shadowColor="#ff0000ff"  
  9.  android:shadowDx="5"  
  10.  android:shadowDy="5"       
  11.  android:shadowRadius="10"/>  

android:shadowColor 阴影颜色

android:shadowDx 阴影的水平偏移量

android:shadowDy 阴影的垂直偏移量

android:shadowRadius 阴影的范围

为了统一风格和代码的复用,通常可以把这个样式抽取放入到style.xml文件中

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <style name="textstyle">         
  4.         <item name="android:shadowColor">#ff0000ff</item>  
  5.         <item name="android:shadowRadius">10</item>  
  6.         <item name="android:shadowDx">5</item>  
  7.         <item name="android:shadowDy">5</item>       
  8.     </style>  
  9. </resources>  
[html]  view plain copy
  1. <TextView  
  2.         style="@style/textstyle"  
  3.         android:layout_width="fill_parent"  
  4.         android:layout_height="wrap_content"  
  5.         android:text="字体样式"  
  6.         android:textSize="30sp"  
  7.         android:textStyle="bold" />  


8、listview中item中button可点击:

[html]  view plain copy
  1. android:descendantFocusability="blocksDescendants"  


9、对menu的操作

@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		menu.add(0, 0, 0, "添加备忘");
		menu.add(0, 1, 1, "删除所有");
		menu.add(0, 2, 2, "退出");
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onMenuItemSelected(int featureId, MenuItem item) {
		// TODO Auto-generated method stub
		switch (item.getItemId()) {
		case 0: // 添加备忘
			System.out.println("add data!");
			// addData();
			Intent intent = new Intent(NoteActivity.this, EditTime.class);
			intent.putExtra("click_key", "click_add");
			startActivity(intent);
			break;
		case 1:// 删除所有
			deleteTable();
			setContentView(R.layout.main);
			break;
		case 2:// 退出
			finish();
			break;
		default:
			break;
		}
		return super.onMenuItemSelected(featureId, item);
	}

menu.add的方法中的参数:

第一个int类型的group ID参数,代表的是组概念。可以用到的方法有:
removeGroup(id)
setGroupCheckable(id, checkable, exclusive)
setGroupEnabled(id,boolean enabled)
setGroupVisible(id,visible)
一般情况下都归为一组。
第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个item ID对应一个Menu中的选项。在后面使用菜单的时候,就是靠这个item ID来判断,你选中的是哪个选项。
第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的顺序来显示。
第四个String类型的title参数,表示选项中显示的文字。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值