Подтвердить что ты не робот

Показать модальный после установки или обновления приложения

Многие приложения для Android теперь отображают модальную версию с последним списком изменений после ее установки или обновления.

Как я могу отобразить прокручиваемый модаль после того, как приложение было изначально установлено или обновлено?

4b9b3361

Ответ 1

Заканчивается следующим кодом Часть 1. Проверка просмотра списка изменений

        //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, отображающая диалоговое окно изменения

        //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>

Ответ 2

Попробуйте это:

С помощью журнала изменений Android вы можете легко создавать, показывать и поддерживать диалог журнала изменений Android.

Особенности:

  • отображает только то, что новый или весь журнал изменений
  • отображение первого запуска вновь установленного приложения или новой версии приложения
  • напишите журнал изменений на упрощенном языке, но при необходимости используйте HTML и CSS...

Ответ 4

Я думаю, что вы, вероятно, на правильном пути. Для # 1 у меня есть класс, который наследует диалог, и его макет просто имеет ScrollView, содержащий TextView, а затем кнопку "увольнять" после этого.

Что касается №2, то, что я сделал в моей статье, это сохранить настройки для LastVersionNotesSeen, которые содержат... ну, номер версии для последних заметок.:) Если это число меньше текущей версии, я показываю последние версии и обновляю текущую версию.

Ответ 5

Для отображения журнала изменений вы также можете локализовать (то есть загрузить из папки 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();

Магия - это код html 'page' в res/values ​​/strings.xml:

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