1,给个好评功能:
点击给个好评功能,弹出当前设备上所有可用的应用商店,游戏中心等软件,然后点击弹出的某个应用商店软件跳转到评价给好评界面(前提是该应用商店已经上架了要给好评的软件,不然点击之后会找不到响应界面).
代码如下(直接复制粘贴即可用):
//通过Uri.parse("market://details?id=" + getPackageName()),
//打开当前设备上的应用市场.同时进行异常捕获,当
//设备无应用市场时会被触发
try {
Uri uri = Uri.parse("market://details?id=" + getPackageName());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), "当前设备上无任何应用市场", Toast.LENGTH_SHORT).show();
}
2,一键分享功能:
点击一键分享功能,弹出当前设备上所有可以进行分享的软件,如qq控件,新浪微博,qq等,然后点击弹出的某个软件跳转到相应界面进行进一步操作.
代码如下:
if (mlist.size() == 0) {
Toast.makeText(MainActivity.this, "您账本暂无数据,无法分享", Toast.LENGTH_SHORT).show();
}
else {
ExportData exportData = new ExportData();
exportData.exportData(MainActivity.this, mlist);
//采用文件名过滤器,直接把指定的文件找到
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File file, String s/*s为文件名*/) {
if ("账本数据.txt".equals(s))
return true;
return false;
}
};
File directory = Environment.getExternalStorageDirectory();
if (directory.isDirectory()) {
File[] files = directory.listFiles(filter);
//因为已知files数组里只有1个元素,所以用files[0]直接定位
File file = files[0];
Uri uri = Uri.fromFile(file);
//一键分享到当前设备已安装的相关应用里,如新浪微博,qq空间,微信等
Intent intent = new Intent(Intent.ACTION_SEND); //设置打开意图
intent.setType("text/*");//可以分享的应用类型
//intent.putExtra(Intent.EXTRA_SUBJECT, "分享到"); //标题
intent.putExtra(Intent.EXTRA_STREAM, uri); //内容
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/*Intent.createChooser(intent, getTitle()),第二个参数为CharSequence类型
可以写getTitle(),用于获取当前应用名称,这里写"分享至"便于理解*/
startActivity(Intent.createChooser(intent, "把账本内容分享至"));
}
上面的一键分享代码是我应用中关于该功能截取出的一段,核心的代码为
//一键分享到当前设备已安装的相关应用里,如新浪微博,qq空间,微信等
Intent intent = new Intent(Intent.ACTION_SEND); //设置打开意图
intent.setType("text/*");//可以分享的应用类型
//intent.putExtra(Intent.EXTRA_SUBJECT, "分享到"); //标题
intent.putExtra(Intent.EXTRA_STREAM, uri); //内容
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/*Intent.createChooser(intent, getTitle()),第二个参数为CharSequence类型
可以写getTitle(),用于获取当前应用名称,这里写"分享至"便于理解*/
startActivity(Intent.createChooser(intent, "把账本内容分享至"));
3,使用
ExpandableListView时,默认的下拉箭头在左边,如果想把箭头放在右边只需这样做即可:
代码如下:
//下面两句话用来把ExpandableListView的下拉箭头移到右边,默认显示在左边
int width = getActivity().getWindowManager().getDefaultDisplay().getWidth();
expListView.setIndicatorBounds(width - 40, width - 10);
当然也可以重写
ExpandableListView的相关方法来实现
4,使用GridView时,让每个item间有横线,竖线分隔
直接在GridView的布局文件里加上如下代码,然后分别设置GridView和每个item的背景色即可.
代码如下:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
>
<!--GridView控件设置
android:horizontalSpacing="1dp"
android:verticalSpacing="1dp"
android:background="#dcdcdc"-->
<GridView
android:id="@+id/gridView"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="2"
android:columnWidth="80dp"
android:gravity="center"
android:stretchMode="columnWidth"
android:horizontalSpacing="1dp"
android:verticalSpacing="1dp"
android:background="#dcdcdc"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="@android:color/holo_blue_dark">
<!--子item的背景色
android:background="@android:color/holo_blue_dark"-->
<ImageView
android:id="@+id/image"
android:layout_width="80dp"
android:layout_height="60dp"
/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:layout_marginTop="10dp"
/>
</LinearLayout>
上面的代码就能实现每个item之间有横竖线分隔.