在安装或更新应用后显示模式

现在很多Android应用程序在安装或更新之后都会显示最近一次更新日志的模式。

在最初安装或更新应用程序后,如何显示可滚动模式?

Solutions Collecting From Web of "在安装或更新应用后显示模式"

试试这个 :

使用Android更改日志,您可以轻松创build,显示和维护Android更改日志对话框。

特点是:

  • 只显示新的或整个更改日志
  • 显示新安装的应用程序或新的应用程序版本的第一次启动
  • 用简化的语言编写更改日志,如果需要也可以使用HTML和CSS …

结束了下面的代码第1部分。检查是否应该查看changelog

//evaluate if we will show changelog try { //current version PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); int versionCode = packageInfo.versionCode; //version where changelog has been viewed SharedPreferences settings = getSharedPreferences(SAPNotePreferences.PREFS_NAME, 0); int viewedChangelogVersion = settings.getInt(SAPNotePreferences.KEY_CHANGELOG_VERSION_VIEWED, 0); if(viewedChangelogVersion<versionCode) { Editor editor=settings.edit(); editor.putInt(SAPNotePreferences.KEY_CHANGELOG_VERSION_VIEWED, versionCode); editor.commit(); displayChangeLog(); } } catch (NameNotFoundException e) { Log.w("Unable to get version code. Will not show changelog", e); } 

第2部分显示changelog对话框

  //load some kind of a view LayoutInflater li = LayoutInflater.from(this); View view = li.inflate(R.layout.changelog_view, null); new AlertDialog.Builder(this) .setTitle("Changelog") .setIcon(android.R.drawable.ic_menu_info_details) .setView(view) .setNegativeButton("Close", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // } }).show(); 

第3部分与更新日志的布局

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ScrollView android:id="@+id/aboutscrollview" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="Thanks for installing ..." android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="15px" android:layout_gravity="center_vertical" android:textColor="#ffffff" /> <TextView android:text="Changes: " android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="15px" android:paddingLeft="15px" android:textStyle="bold" android:textColor="#ffffff" /> <TextView android:text="v2.0:changes..." android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="15px" android:paddingBottom="10px" android:textColor="#ffffff" /> </LinearLayout> </ScrollView> </LinearLayout> 

我想你可能是在正确的轨道上。 对于#1,我有一个inheritance对话的类,它的布局只是一个包含TextView的ScrollView,然后是一个“解除”button。

关于#2,我在我的工作是存储一个设置LastVersionNotesSeen,其中包含…以及最后显示的注释的版本号。 :)如果该数字小于当前版本,则显示最新的版本注释并将值更新为当前版本。

为了显示更改日志,您还可以在对话框中本地化(即从res文件夹加载)html:

  AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(getString(R.string.changelog_dialog_title)); dialog.setIcon(getResources().getDrawable(R.drawable.icon)); WebView wv = new WebView(getApplicationContext()); wv.loadData(getString(R.string.changelog_dialog_text), "text/html", "utf-8"); dialog.setView(wv); dialog.setPositiveButton(getString(android.R.string.ok), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog.show(); 

神奇的是如何编码res / values / strings.xml中的html页面:

 <string name="changelog_dialog_text"> <![CDATA[<b>Version 1.3.0:</b> <ul> <li>Change 1</li> <li>Change 2</li> </ul> ]]> </string>