您的位置:首页 > 移动开发 > Android开发

android小点子

2014-01-04 13:08 429 查看
1.分享功能简单实现。

shareBtn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub

				Intent localIntent = new Intent("android.intent.action.SEND");
				localIntent.setType("text/plain");
				String str = "这个是我的分享内容你看看。";
				localIntent.putExtra("android.intent.extra.TEXT", str
						+ "#aaa#");
				localIntent.setFlags(268435456);//

				MainActivity.this.startActivity(Intent.createChooser(
						localIntent, "测试文字"));
			}
		});

很多人使用startActivity时候,会碰到如下的异常:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。
Java代码  
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
这样就可以再新的task里面启动这个Activity了。




2、发送错误报告
Intent localIntent = new Intent("android.intent.action.SEND");
	    localIntent.setType("message/rfc822");
	    String[] arrayOfString = new String[1];
	    arrayOfString[0] = "aaa@163.com";
	    localIntent.putExtra("android.intent.extra.EMAIL", arrayOfString);
	    localIntent.putExtra("android.intent.extra.SUBJECT", "你的程序崩溃了,我要发送错误报告!");
	    localIntent.putExtra("android.intent.extra.TEXT", "草,");
	    MainActivity.this.startActivity(Intent.createChooser(localIntent, "发送错误报告"));


3、点赞动画

很多地方我们会用到,点赞功能,点了按钮之后,会有一个"+1" 或者“-1” 飘上来。
这里值提供了简单实现。其实这样的实例网上一大片。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 动画移动效果,并且透明度逐渐增大一点,最后控件gone掉就行了 -->
    <translate
        android:duration="350"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="-30" />

    <alpha
        android:duration="300"
        android:fromAlpha="1.0"
        android:toAlpha="0.3" />

</set>


thumbBtn = (Button) findViewById(R.id.thumbupbtn);
		thumbtext = (TextView) findViewById(R.id.thumbuptextview);
		thumbBtn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Animation animation = AnimationUtils.loadAnimation(
						MainActivity.this, R.anim.thanslateanimation);
				thumbtext.setVisibility(View.VISIBLE);
				thumbtext.setAnimation(animation);
				new Handler().postDelayed(new Runnable() {

					// 延迟一下在消失,主线程中,所以可以直接操作ui
					@Override
					public void run() {

						thumbtext.setVisibility(View.GONE);

					}
				}, 200);
				((Button) v).setTextColor(Color.RED);
			}
		});


4.android Fragment
转载:http://blog.csdn.net/jiayi_fly/article/details/9823087
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: