Browse Source

AspectRatio: Android UI

Pal Lockheart 6 years ago
parent
commit
376ab94802

+ 5 - 0
android/app/src/main/java/com/sdlpal/sdlpal/SettingsActivity.java

@@ -41,6 +41,7 @@ public class SettingsActivity extends AppCompatActivity {
     public static native String getGitRevision();
 
     private static final String KeepAspectRatio = "KeepAspectRatio";
+    private static final String AspectRatio = "AspectRatio";
     private static final String LaunchSetting = "LaunchSetting";
     private static final String Stereo = "Stereo";
     private static final String UseSurroundOPL = "UseSurroundOPL";
@@ -68,6 +69,7 @@ public class SettingsActivity extends AppCompatActivity {
     private static final String CDFormats[] = { "MP3", "OGG" };
     private static final String MusicFormats[] = { "MIDI", "RIX", "MP3", "OGG" };
     private static final String OPLFormats[] = { "DOSBOX", "MAME", "DOSBOXNEW" };
+    private static final String AspectRatios[] = { "16:10", "4:3" };
 
     private SettingsActivity mInstance = this;
 
@@ -305,6 +307,7 @@ public class SettingsActivity extends AppCompatActivity {
         ((AppCompatSpinner)findViewById(R.id.spMusFmt)).setSelection(findMatchedStringIndex(getConfigString(MusicFormat, true), MusicFormats, 1));    // RIX
         ((AppCompatSpinner)findViewById(R.id.spOPL)).setSelection(findMatchedStringIndex(getConfigString(OPLFormat, true), OPLFormats, 1));       // MAME
         ((AppCompatSpinner)findViewById(R.id.spOPLRate)).setSelection(findMatchedIntIndex(getConfigInt(OPLSampleRate, true), OPLSampleRates, 5));  // 49716Hz
+        ((AppCompatSpinner)findViewById(R.id.spAspectRatio)).setSelection(findMatchedStringIndex(getConfigString(AspectRatio, true), AspectRatios, 0));  // 16:10
     }
 
 
@@ -342,6 +345,7 @@ public class SettingsActivity extends AppCompatActivity {
         ((AppCompatSpinner)findViewById(R.id.spMusFmt)).setSelection(findMatchedStringIndex(getConfigString(MusicFormat, false), MusicFormats, 1));    // RIX
         ((AppCompatSpinner)findViewById(R.id.spOPL)).setSelection(findMatchedStringIndex(getConfigString(OPLFormat, false), OPLFormats, 1));       // MAME
         ((AppCompatSpinner)findViewById(R.id.spOPLRate)).setSelection(findMatchedIntIndex(getConfigInt(OPLSampleRate, false), OPLSampleRates, 5));  // 49716Hz
+        ((AppCompatSpinner)findViewById(R.id.spAspectRatio)).setSelection(findMatchedStringIndex(getConfigString(AspectRatio, false), AspectRatios, 0));  // 16:10
     }
 
     protected boolean setConfigs() {
@@ -380,6 +384,7 @@ public class SettingsActivity extends AppCompatActivity {
         setConfigString(MusicFormat, (String)((AppCompatSpinner)findViewById(R.id.spMusFmt)).getSelectedItem());
         setConfigString(OPLFormat, (String)((AppCompatSpinner)findViewById(R.id.spOPL)).getSelectedItem());
         setConfigInt(OPLSampleRate, Integer.parseInt((String)((AppCompatSpinner)findViewById(R.id.spOPLRate)).getSelectedItem()));
+        setConfigString(AspectRatio, (String)((AppCompatSpinner)findViewById(R.id.spAspectRatio)).getSelectedItem());
 
         return true;
     }

+ 11 - 0
android/app/src/main/res/layout/content_settings.xml

@@ -126,6 +126,17 @@
                 tools:layout_editor_absoluteX="8dp"
                 tools:layout_editor_absoluteY="269dp" />
 
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/label_aspectratio" />
+
+            <android.support.v7.widget.AppCompatSpinner
+                android:id="@+id/spAspectRatio"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:entries="@array/aspect_ratio" />
+
             <android.support.v7.widget.SwitchCompat
                 android:id="@+id/swStereo"
                 android:layout_width="match_parent"

+ 1 - 0
android/app/src/main/res/values-zh-rCN/strings.xml

@@ -31,4 +31,5 @@
     <string name="toast_grantpermission">本应用需要存储设备读写权限以访问游戏资源。请点击“确定”后手动为本应用开启权限。</string>
     <string name="msg_data_not_found_header">无法在以下文件夹中找到游戏数据文件:</string>
     <string name="msg_data_not_found_footer">注意:由于版权问题,数据文件无法提供。请自行从百游官方下载并解压拷贝到手机中。</string>
+    <string name="label_aspectratio">纵横比</string>
 </resources>

+ 1 - 0
android/app/src/main/res/values-zh-rTW/strings.xml

@@ -31,4 +31,5 @@
     <string name="toast_grantpermission">本app需要存儲裝置讀寫許可權以訪問遊戲資料檔。請按「確定」後手動為本app開啟許可權。</string>
     <string name="msg_data_not_found_header">無法在以下資料夾中找到遊戲資料檔:</string>
     <string name="msg_data_not_found_footer">說明:為防止侵害大宇公司版權,恕不提供遊戲資料檔。请自行將正版PAL的資料檔復製到手機中。</string>
+    <string name="label_aspectratio">縱橫比</string>
 </resources>

+ 4 - 0
android/app/src/main/res/values/arrays.xml

@@ -34,6 +34,10 @@
         <item>44100</item>
         <item>49716</item>
     </string-array>
+    <string-array name="aspect_ratio" translatable="false">
+        <item>16:10</item>
+        <item>4:3</item>
+    </string-array>
     <string-array name="log_level">
         <item>Verbose</item>
         <item>Debug</item>

+ 1 - 0
android/app/src/main/res/values/strings.xml

@@ -16,6 +16,7 @@
     <string name="label_musfmt">Music format</string>
     <string name="label_oplrate">OPL emulator\'s samplerate</string>
     <string name="label_opl">OPL emulator</string>
+    <string name="label_aspectratio">Aspect Ratio</string>
     <string name="action_suropl">Surround OPL</string>
     <string name="action_default">Default</string>
     <string name="action_finish">Finish</string>