編輯:關於Android編程
先來看看運行效果
用戶點進去他會問是否評級,稍後評價等等等,原作者對這一系列功能封的比較徹底,方便大家使用,我們來看一下一個簡單的提示頁面如何配置。
在Activity初始化階段把一些需要配置的東西設置好<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;">
AppRate.with(this)
.setStoreType(StoreType.GOOGLEPLAY) //默認Google, 還有個是亞馬遜
.setInstallDays(0) // 默認10,這裡為了演示效果,設置裝的時候就演示
.setLaunchTimes(3) // 設置啟動的時間
.setRemindInterval(2) // 提醒的間隔
.setShowLaterButton(true) // 是否顯示推遲按鈕
.setDebug(false) // 是否Debug狀態,默認false
.setMessage("分享我們好嗎")//設置說明文字
.setOnClickButtonListener(new OnClickButtonListener() { //按鈕監聽事件
@Override
public void onClickButton(int which) {
Log.d(MainActivity.class.getName(), Integer.toString(which));
}
})
.monitor();
在需要展現的地方把他SHOW出來即可
// 顯示對話框
AppRate.showRateDialogIfMeetsConditions(this);
當然你還可以設置Title之類的,像這樣
setTitle()//設置標題
setNeutralText()//設置按鈕文字內容
當然,你覺得這個 UI你不喜歡,你要符合你公司美工制定的畫面,也OK
調用setView方法,像這樣
LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_dialog, (ViewGroup)findViewById(R.id.layout_root));
AppRate.with(this).setView(view).monitor();
以上是基礎設置,接下來是比較蛋疼的地方,作者一定不是國人,所以沒有那麼繁雜的市場發布問題,而且我們無法Goolgle Play,所以默認的模式我們不能用,所以這也就是之前我為什麼沒貼下載地址的原因,因為我們必須加以修改。
OK接下來講下改什麼地方
源碼長這樣
用於分享URL操作的是
UriHelper
IntentHelper
StoreType
DialogManager
StoreType是枚舉類型,用於區分我們到底是哪個市場,如果你是要到小米,要到豌豆莢,就在裡面加吧
public enum StoreType {
GOOGLEPLAY,
AMAZON//, 你要的內容
}
IntentHelper 是你具體傳遞Intent的地方
final class IntentHelper {
private static final String GOOGLE_PLAY_PACKAGE_NAME = "com.android.vending";
private IntentHelper() {
}
static Intent createIntentForGooglePlay(Context context) {
String packageName = context.getPackageName();
Intent intent = new Intent(Intent.ACTION_VIEW, getGooglePlay(packageName));
if (isPackageExists(context, GOOGLE_PLAY_PACKAGE_NAME)) {
intent.setPackage(GOOGLE_PLAY_PACKAGE_NAME);
}
return intent;
}
static Intent createIntentForAmazonAppstore(Context context) {
String packageName = context.getPackageName();
return new Intent(Intent.ACTION_VIEW, getAmazonAppstore(packageName));
}
}
UriHelper 做一些URL拼接處理
final class UriHelper {
private static final String GOOGLE_PLAY = "https://play.google.com/store/apps/details?id=";
private static final String AMAZON_APPSTORE = "amzn://apps/android?p=";
private UriHelper() {
}
static Uri getGooglePlay(String packageName) {
return packageName == null ? null : Uri.parse(GOOGLE_PLAY + packageName);
}
static Uri getAmazonAppstore(String packageName) {
return packageName == null ? null : Uri.parse(AMAZON_APPSTORE + packageName);
}
static boolean isPackageExists(Context context, String targetPackage) {
PackageManager pm = context.getPackageManager();
List packages = pm.getInstalledApplications(0);
for (ApplicationInfo packageInfo : packages) {
if (packageInfo.packageName.equals(targetPackage)) return true;
}
return false;
}
}
這些都處理完了 在DialogManager加判斷的代碼就好
builder.setPositiveButton(options.getPositiveText(context), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final Intent intentToAppstore = options.getStoreType() == StoreType.GOOGLEPLAY ?
createIntentForGooglePlay(context) : createIntentForAmazonAppstore(context);
context.startActivity(intentToAppstore);
setAgreeShowDialog(context, false);
if (listener != null) listener.onClickButton(which);
}
});
默認的在你點擊評價之後會去判斷你是哪個應用商店,你加在onClick方法內就好了
這個控件已加入大套餐,安利如下:Android/blob/master/README.md">https://github.com/ddwhan0123/Useful-Open-Source-Android/blob/master/README.md
Git:https://github.com/hotchemi/Android-Rate
下載地址:https://github.com/hotchemi/Android-Rate/archive/master.zip
AlertDialog的簡單使用 AlertDialog的使用是依賴於Activity的。它不同於Toast,Toast是不依賴於Activity的,Toast只起到一
一、前言在之前的一篇文章中我們已經詳細介紹了Android中Hook工作的一款神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我們介紹了如何安
簡介這是一個基於AlertDialog和Dialog這兩個類封裝的多種彈出框樣式,其中提供各種簡單樣式的彈出框使用說明。同時也可自定義彈出框。項目地址:http://ww
用到的兩個png圖片首先是自定義theme,不能用默認的主題,會報錯;you cannot combined....。修改res/values/styles.xml:上面