Add screen orientation configure for reading
This commit is contained in:
1 parent
125fe0e691
commit
87e714aff6
9 files changed
+112
-6
No files matched your search
@@ -368,6 +368,17 @@ public class Settings {
|
||||
/********************
|
||||
****** Read
|
||||
********************/
|
||||
private static final String KEY_SCREEN_ROTATION = "screen_rotation";
|
||||
private static final int DEFAULT_SCREEN_ROTATION = 0;
|
||||
|
||||
public static int getScreenRotation() {
|
||||
return getIntFromStr(KEY_SCREEN_ROTATION, DEFAULT_SCREEN_ROTATION);
|
||||
}
|
||||
|
||||
public static void putScreenRotation(int value) {
|
||||
putIntToStr(KEY_SCREEN_ROTATION, value);
|
||||
}
|
||||
|
||||
private static final String KEY_READING_DIRECTION = "reading_direction";
|
||||
private static final int DEFAULT_READING_DIRECTION = GalleryView.LAYOUT_MODE_RIGHT_TO_LEFT;
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Resources;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
@@ -283,6 +284,22 @@ public class GalleryActivity extends EhActivity
|
||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||
}
|
||||
|
||||
// Orientation
|
||||
int orientation;
|
||||
switch (Settings.getScreenRotation()) {
|
||||
default:
|
||||
case 0:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
|
||||
break;
|
||||
case 1:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
|
||||
break;
|
||||
case 2:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
|
||||
break;
|
||||
}
|
||||
setRequestedOrientation(orientation);
|
||||
|
||||
if (Settings.getGuideGallery()) {
|
||||
FrameLayout mainLayout = (FrameLayout) ViewUtils.$$(this, R.id.main);
|
||||
mainLayout.addView(new GalleryGuideView(this));
|
||||
@@ -653,6 +670,7 @@ public class GalleryActivity extends EhActivity
|
||||
private class GalleryMenuHelper implements DialogInterface.OnClickListener {
|
||||
|
||||
private final View mView;
|
||||
private final Spinner mScreenRotation;
|
||||
private final Spinner mReadingDirection;
|
||||
private final Spinner mScaleMode;
|
||||
private final Spinner mStartPosition;
|
||||
@@ -664,6 +682,7 @@ public class GalleryActivity extends EhActivity
|
||||
@SuppressLint("InflateParams")
|
||||
public GalleryMenuHelper(Context context) {
|
||||
mView = LayoutInflater.from(context).inflate(R.layout.dialog_gallery_menu, null);
|
||||
mScreenRotation = (Spinner) mView.findViewById(R.id.screen_rotation);
|
||||
mReadingDirection = (Spinner) mView.findViewById(R.id.reading_direction);
|
||||
mScaleMode = (Spinner) mView.findViewById(R.id.page_scaling);
|
||||
mStartPosition = (Spinner) mView.findViewById(R.id.start_position);
|
||||
@@ -672,6 +691,7 @@ public class GalleryActivity extends EhActivity
|
||||
mShowBattery = (SwitchCompat) mView.findViewById(R.id.show_battery);
|
||||
mVolumePage = (SwitchCompat) mView.findViewById(R.id.volume_page);
|
||||
|
||||
mScreenRotation.setSelection(Settings.getScreenRotation());
|
||||
mReadingDirection.setSelection(Settings.getReadingDirection());
|
||||
mScaleMode.setSelection(Settings.getPageScaling());
|
||||
mStartPosition.setSelection(Settings.getStartPosition());
|
||||
@@ -687,6 +707,7 @@ public class GalleryActivity extends EhActivity
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
int screenRotation = mScreenRotation.getSelectedItemPosition();
|
||||
int layoutMode = GalleryView.sanitizeLayoutMode(mReadingDirection.getSelectedItemPosition());
|
||||
int scaleMode = ImageView.sanitizeScaleMode(mScaleMode.getSelectedItemPosition());
|
||||
int startPosition = ImageView.sanitizeStartPosition(mStartPosition.getSelectedItemPosition());
|
||||
@@ -695,6 +716,7 @@ public class GalleryActivity extends EhActivity
|
||||
boolean showBattery = mShowBattery.isChecked();
|
||||
boolean volumePage = mVolumePage.isChecked();
|
||||
|
||||
Settings.putScreenRotation(screenRotation);
|
||||
Settings.putReadingDirection(layoutMode);
|
||||
Settings.putPageScaling(scaleMode);
|
||||
Settings.putStartPosition(startPosition);
|
||||
@@ -703,6 +725,20 @@ public class GalleryActivity extends EhActivity
|
||||
Settings.putShowBattery(showBattery);
|
||||
Settings.putVolumePage(volumePage);
|
||||
|
||||
int orientation;
|
||||
switch (screenRotation) {
|
||||
default:
|
||||
case 0:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
|
||||
break;
|
||||
case 1:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
|
||||
break;
|
||||
case 2:
|
||||
orientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
|
||||
break;
|
||||
}
|
||||
setRequestedOrientation(orientation);
|
||||
if (mGalleryView != null) {
|
||||
mGalleryView.setLayoutMode(layoutMode);
|
||||
mGalleryView.setScaleMode(scaleMode);
|
||||
|
||||
@@ -40,7 +40,30 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/settings_read_reading_direction_title"
|
||||
android:text="@string/settings_read_screen_rotation"
|
||||
android:textColor="@color/primary_text_dark"/>
|
||||
|
||||
<com.hippo.widget.CuteSpinner
|
||||
android:id="@+id/screen_rotation"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="2"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:entries="@array/screen_rotation_entries"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/settings_read_reading_direction"
|
||||
android:textColor="@color/primary_text_dark"/>
|
||||
|
||||
<com.hippo.widget.CuteSpinner
|
||||
|
||||
@@ -374,7 +374,11 @@
|
||||
<string name="settings_eh_filter_summary">过滤标题,上传者,标签和标签组</string>
|
||||
|
||||
<string name="settings_read">阅读</string>
|
||||
<string name="settings_read_reading_direction_title">阅读方向</string>
|
||||
<string name="settings_read_screen_rotation">屏幕方向</string>
|
||||
<string name="settings_read_screen_rotation_default">系统默认</string>
|
||||
<string name="settings_read_screen_rotation_portrait">竖屏</string>
|
||||
<string name="settings_read_screen_rotation_landscape">横屏</string>
|
||||
<string name="settings_read_reading_direction">阅读方向</string>
|
||||
<string name="settings_read_reading_direction_left_to_right">从左至右</string>
|
||||
<string name="settings_read_reading_direction_right_to_Left">从右至左</string>
|
||||
<string name="settings_read_reading_direction_top_to_bottom">从上至下</string>
|
||||
|
||||
@@ -374,7 +374,11 @@
|
||||
<string name="settings_eh_filter_summary">過濾標題,上傳者,標籤和標籤組</string>
|
||||
|
||||
<string name="settings_read">閲讀</string>
|
||||
<string name="settings_read_reading_direction_title">閲讀方向</string>
|
||||
<string name="settings_read_screen_rotation">屏幕方向</string>
|
||||
<string name="settings_read_screen_rotation_default">系統默認</string>
|
||||
<string name="settings_read_screen_rotation_portrait">豎屏</string>
|
||||
<string name="settings_read_screen_rotation_landscape">橫屏</string>
|
||||
<string name="settings_read_reading_direction">閲讀方向</string>
|
||||
<string name="settings_read_reading_direction_left_to_right">從左至右</string>
|
||||
<string name="settings_read_reading_direction_right_to_Left">從右至左</string>
|
||||
<string name="settings_read_reading_direction_top_to_bottom">從上至下</string>
|
||||
|
||||
@@ -374,7 +374,11 @@
|
||||
<string name="settings_eh_filter_summary">過濾標題,上傳者,標籤和標籤組</string>
|
||||
|
||||
<string name="settings_read">閱讀</string>
|
||||
<string name="settings_read_reading_direction_title">閱讀方向</string>
|
||||
<string name="settings_read_screen_rotation">螢幕方向</string>
|
||||
<string name="settings_read_screen_rotation_default">系統預設</string>
|
||||
<string name="settings_read_screen_rotation_portrait">豎屏</string>
|
||||
<string name="settings_read_screen_rotation_landscape">橫屏</string>
|
||||
<string name="settings_read_reading_direction">閱讀方向</string>
|
||||
<string name="settings_read_reading_direction_left_to_right">從左至右</string>
|
||||
<string name="settings_read_reading_direction_right_to_Left">從右至左</string>
|
||||
<string name="settings_read_reading_direction_top_to_bottom">從上至下</string>
|
||||
|
||||
@@ -76,6 +76,18 @@
|
||||
<item>17</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="screen_rotation_entries">
|
||||
<item>@string/settings_read_screen_rotation_default</item>
|
||||
<item>@string/settings_read_screen_rotation_portrait</item>
|
||||
<item>@string/settings_read_screen_rotation_landscape</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="screen_rotation_entry_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="reading_direction_entries">
|
||||
<item>@string/settings_read_reading_direction_left_to_right</item>
|
||||
<item>@string/settings_read_reading_direction_right_to_Left</item>
|
||||
|
||||
@@ -416,7 +416,11 @@
|
||||
<string name="settings_eh_filter_summary">Filter by title, uploader, tag and tag namespace</string>
|
||||
|
||||
<string name="settings_read">Read</string>
|
||||
<string name="settings_read_reading_direction_title">Reading direction</string>
|
||||
<string name="settings_read_screen_rotation">Screen orientation</string>
|
||||
<string name="settings_read_screen_rotation_default">Default</string>
|
||||
<string name="settings_read_screen_rotation_portrait">Portrait</string>
|
||||
<string name="settings_read_screen_rotation_landscape">Landscape</string>
|
||||
<string name="settings_read_reading_direction">Reading direction</string>
|
||||
<string name="settings_read_reading_direction_left_to_right">Left to right</string>
|
||||
<string name="settings_read_reading_direction_right_to_Left">Right to left</string>
|
||||
<string name="settings_read_reading_direction_top_to_bottom">Top to bottom</string>
|
||||
|
||||
@@ -19,9 +19,17 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<com.hippo.preference.ListPreference
|
||||
android:key="screen_rotation"
|
||||
android:title="@string/settings_read_screen_rotation"
|
||||
android:summary="%s"
|
||||
app:entries="@array/screen_rotation_entries"
|
||||
app:entryValues="@array/screen_rotation_entry_values"
|
||||
android:defaultValue="0"/>
|
||||
|
||||
<com.hippo.preference.ListPreference
|
||||
android:key="reading_direction"
|
||||
android:title="@string/settings_read_reading_direction_title"
|
||||
android:title="@string/settings_read_reading_direction"
|
||||
android:summary="%s"
|
||||
app:entries="@array/reading_direction_entries"
|
||||
app:entryValues="@array/reading_direction_entry_values"
|
||||
|
||||
Reference in new issue
Block a user