diff --git a/PhotoPreview/local.properties b/PhotoPreview/local.properties new file mode 100644 index 0000000..0286172 --- /dev/null +++ b/PhotoPreview/local.properties @@ -0,0 +1,8 @@ +## This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. +# +# Location of the SDK. This is only used by Gradle. +# For customization when using a Version Control System, please read the +# header note. +#Fri Oct 18 10:29:59 CST 2024 +sdk.dir=F\:\\AndroidSDK diff --git a/app/build.gradle b/app/build.gradle index 86c6b66..9f94168 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { minSdkVersion 24 targetSdkVersion 29 - versionCode 88 - versionName "1.9.7" + versionCode 90 + versionName "1.9.9" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0f5f422..00fbba7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -99,7 +99,7 @@ android:launchMode="singleTask" android:resizeableActivity="true" android:resumeWhilePausing="true" - android:screenOrientation="userLandscape" + android:screenOrientation="landscape" android:stateNotNeeded="true" android:windowSoftInputMode="adjustPan"> @@ -115,59 +115,65 @@ + android:screenOrientation="landscape" /> + android:screenOrientation="landscape" /> + android:screenOrientation="landscape" /> + android:screenOrientation="landscape" /> + android:screenOrientation="landscape" /> + android:screenOrientation="landscape" /> add(mBinding.icv, "7")); mBinding.bt8.setOnClickListener(view1 -> add(mBinding.icv, "8")); mBinding.bt9.setOnClickListener(view1 -> add(mBinding.icv, "9")); + +// UltimateBarX.addStatusBarTopPadding(mBinding.clRoot); +// UltimateBarX.addNavigationBarBottomPadding(mBinding.clRoot); } private void checkPasswd() { diff --git a/app/src/main/java/com/uiui/zyos/activity/PasswordActivity.java b/app/src/main/java/com/uiui/zyos/activity/PasswordActivity.java index fee4e2c..a47f0b7 100644 --- a/app/src/main/java/com/uiui/zyos/activity/PasswordActivity.java +++ b/app/src/main/java/com/uiui/zyos/activity/PasswordActivity.java @@ -19,16 +19,17 @@ import com.uiui.zyos.R; import com.uiui.zyos.base.BaseDataBindingActivity; import com.uiui.zyos.config.CommonConfig; import com.uiui.zyos.databinding.ActivityPasswdBinding; +import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX; public class PasswordActivity extends BaseDataBindingActivity { private static final String TAG = "PasswordActivity"; private ActivityPasswdBinding mBinding; - @Override - public boolean setNightMode() { - return true; - } +// @Override +// public boolean setNightMode() { +// return true; +// } @Override protected void initDataBinding() { @@ -108,6 +109,9 @@ public class PasswordActivity extends BaseDataBindingActivity { setEmpty(); mBinding.tvHint.setText("密码错误"); } + + UltimateBarX.addStatusBarTopPadding(mBinding.clRoot); + UltimateBarX.addNavigationBarBottomPadding(mBinding.clRoot); } private void setEmpty() { diff --git a/app/src/main/java/com/uiui/zyos/activity/homework/HomeworkViewModel.java b/app/src/main/java/com/uiui/zyos/activity/homework/HomeworkViewModel.java index 7ea5e4f..a0888c4 100644 --- a/app/src/main/java/com/uiui/zyos/activity/homework/HomeworkViewModel.java +++ b/app/src/main/java/com/uiui/zyos/activity/homework/HomeworkViewModel.java @@ -54,17 +54,17 @@ public class HomeworkViewModel extends BaseViewModel> listBaseResponse) { Log.e("getHomework", "onNext: " + listBaseResponse); ArrayList homeworkBeans = listBaseResponse.data; - - if (!BuildConfig.DEBUG) { - homeworkBeans = (ArrayList) homeworkBeans.stream().filter(new Predicate() { + if (homeworkBeans != null) { + ArrayList homeworkBeans2 = (ArrayList) homeworkBeans.stream().filter(new Predicate() { @Override public boolean test(HomeworkBean homeworkBean) { return TimeUtils.isHomeworkToday(homeworkBean.getCreated_at()); } }).collect(Collectors.toList()); + mHomeworkBeanListData.setValue(homeworkBeans2); + }else { + mHomeworkBeanListData.setValue(homeworkBeans); } - - mHomeworkBeanListData.setValue(homeworkBeans); } @Override diff --git a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java index e0afa37..9ad597f 100644 --- a/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/zyos/activity/main/MainActivity.java @@ -1,5 +1,6 @@ package com.uiui.zyos.activity.main; +import android.app.ActionBar; import android.content.ActivityNotFoundException; import android.content.BroadcastReceiver; import android.content.ComponentName; @@ -127,8 +128,8 @@ public class MainActivity extends BaseMvvmActivity= Build.VERSION_CODES.JELLY_BEAN) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + // 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。 + getWindow().getDecorView().setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); + } else { + // 全屏显示,隐藏状态栏 + getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); + } + } } @Override @@ -666,6 +684,8 @@ public class MainActivity extends BaseMvvmActivity> listBaseResponse) { Log.e("getHomework", "onNext: " + listBaseResponse); List homeworkBeans = listBaseResponse.data; - mHomeworkBeanListData.setValue(homeworkBeans); + if (homeworkBeans != null) { + List homeworkBeans2 = homeworkBeans.stream().filter(new Predicate() { + @Override + public boolean test(HomeworkBean homeworkBean) { + return TimeUtils.isHomeworkToday(homeworkBean.getCreated_at()); + } + }).collect(Collectors.toList()); + mHomeworkBeanListData.setValue(homeworkBeans2); + } else { + mHomeworkBeanListData.setValue(homeworkBeans); + } } @Override diff --git a/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java b/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java index 6ce1589..8a9306a 100644 --- a/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java +++ b/app/src/main/java/com/uiui/zyos/utils/BitmapUtils.java @@ -4,12 +4,19 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; import android.graphics.PixelFormat; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Typeface; import android.graphics.drawable.AdaptiveIconDrawable; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Build; +import com.uiui.zyos.R; + import java.io.ByteArrayOutputStream; public class BitmapUtils { @@ -69,4 +76,54 @@ public class BitmapUtils { return null; } } + + public static Bitmap getbatteryIcon(Context context, Bitmap bitmap, int level, boolean charging) { + String st_level = String.valueOf(level); + int paddingLeft = 6; + int paddingRight = 8; + int paddingTop = 6; + int paddingBottom = 6; + int width = bitmap.getWidth(); + int height = bitmap.getHeight(); + Bitmap background = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Bitmap bitmapScale = Bitmap.createScaledBitmap(bitmap, width, height, true); + Canvas canvas = new Canvas(); + canvas.setBitmap(background); + Paint paint = new Paint(); + if (charging) { + paint.setColor(context.getColor(R.color.default_text_color)); + } else { + if (level <= 20) { + paint.setColor(Color.RED); + } else { + paint.setColor(context.getColor(R.color.default_text_color)); + } + } + //设置画笔类型 + paint.setStyle(Paint.Style.FILL); + //使用画笔在画布上画矩形 + paint.setAntiAlias(true); + Rect mSrcRect = new Rect(0, 0, width, height); + canvas.drawBitmap(bitmapScale, mSrcRect, mSrcRect, null); + RectF rectF = new RectF(paddingLeft, paddingTop, (bitmap.getWidth() - paddingRight) * level / 100, bitmap.getHeight() - paddingBottom);// 设置个新的长方形 + canvas.drawRoundRect(rectF, 3, 3, paint); + + final float mDensity = context.getResources().getDisplayMetrics().density; + Rect rect = new Rect(); + Paint mDatePaint = new Paint(); + mDatePaint.setTypeface(Typeface.SANS_SERIF); + mDatePaint.setTextSize((int) 9F * mDensity);//文字大小 + mDatePaint.setColor(Color.BLACK); + mDatePaint.setAntiAlias(true); + + mDatePaint.getTextBounds(st_level, 0, st_level.length(), rect); + //通过文字获取矩形的面积 + int width1 = rect.right - rect.left; + int height1 = rect.bottom - rect.top; + int width2 = background.getWidth(); + int height2 = background.getHeight(); + canvas.drawText(st_level, (width2 - width1) / 2 - rect.left, (height2 - height1) / 2 - rect.top, mDatePaint); + return background; + } + } diff --git a/app/src/main/java/com/uiui/zyos/utils/TimeUtils.java b/app/src/main/java/com/uiui/zyos/utils/TimeUtils.java index 6bf59e2..bee43b3 100644 --- a/app/src/main/java/com/uiui/zyos/utils/TimeUtils.java +++ b/app/src/main/java/com/uiui/zyos/utils/TimeUtils.java @@ -91,6 +91,12 @@ public class TimeUtils { return sdf.format(date); } + public static String getNowTimeInMinute() { + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + Date date = new Date(System.currentTimeMillis()); + return sdf.format(date); + } + public static String getHomeworkNowTime() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); diff --git a/app/src/main/java/com/uiui/zyos/view/BatteryView.java b/app/src/main/java/com/uiui/zyos/view/BatteryView.java new file mode 100644 index 0000000..4acd2c0 --- /dev/null +++ b/app/src/main/java/com/uiui/zyos/view/BatteryView.java @@ -0,0 +1,226 @@ +package com.uiui.zyos.view; + + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Typeface; +import android.util.AttributeSet; +import android.util.Log; +import android.view.View; + +import com.blankj.utilcode.util.ColorUtils; +import com.blankj.utilcode.util.ImageUtils; +import com.uiui.zyos.R; +import com.uiui.zyos.utils.ScreenUtils; + +/** + * @CreateDate: + * @Author:lp + * @Description: + */ +public class BatteryView extends View { + + private static final float OUTLINE_THICKNESS = 3.0f;//电池框厚度 + private static final float CAP_WIDTH = 4.0f;//电池盖宽度 + private static float CAP_HEIGHT;//电池盖高度 + private static final float CAP_SPACE = 1.0f;//电池盖和电池的间隔 + private static final float CAP_CORNER_RADIUS = 4;//电池盖矩形圆角 + + private static final float GAP_OF_SHAPE_BODY = 4.0f;//电池体与外框之间的间隙 + private static final float ROUND_CORNER_RADIUS = 6; + private static final float TEXT_SIZE = 11f; + + private int FLASH_WIDTH;//闪电的高度和宽度 + private int FLASH_HEIGHT; + + private float fullPowerWidth; //满电量时电池体的宽度。 + + private int mBatteryLevel = 20; + private boolean mCharging = false; + + private Paint batteryBodyPainter; + private Paint batteryHeadPainter; + private Paint mPowerPaint;//电量画笔 + private Paint backgroundPaint;//白色背景 + private Paint mTextPaint;//文字 + + private RectF outlineRect;//电池矩形 + private RectF mCapRect;//电池盖矩形 + private RectF batteryRect;//电量矩形 + private RectF backgroundRect;//背景矩形 + private Rect mTextRect;//文字 + + + private int left; + private int top; + + public BatteryView(Context context) { + this(context, null); + } + + public BatteryView(Context context, AttributeSet attrs) { + super(context, attrs); + //电池外框 + batteryBodyPainter = new Paint(); + batteryBodyPainter.setColor(ColorUtils.getColor(R.color.battery_box)); + batteryBodyPainter.setAntiAlias(true); + batteryBodyPainter.setStyle(Paint.Style.STROKE); + batteryBodyPainter.setStrokeWidth(OUTLINE_THICKNESS); + + //电池盖 + batteryHeadPainter = new Paint(); + batteryHeadPainter.setColor(ColorUtils.getColor(R.color.battery_box)); + batteryHeadPainter.setAntiAlias(true); + batteryHeadPainter.setStyle(Paint.Style.FILL); + + //电量 + mPowerPaint = new Paint(); + mPowerPaint.setAntiAlias(true); + mPowerPaint.setColor(ColorUtils.getColor(R.color.battery_normal_power)); + mPowerPaint.setStyle(Paint.Style.FILL); + + backgroundPaint = new Paint(); + backgroundPaint.setAntiAlias(true); + backgroundPaint.setColor(ColorUtils.getColor(R.color.battery_background)); + backgroundPaint.setStyle(Paint.Style.FILL); + + mTextPaint = new Paint(); + mTextPaint.setTypeface(Typeface.DEFAULT_BOLD); + mTextPaint.setTextSize(dip2px(context, TEXT_SIZE));//文字大小 + mTextPaint.setColor(ColorUtils.getColor(R.color.battery_text)); + mTextPaint.setAntiAlias(true); + + outlineRect = new RectF(); + outlineRect.left = OUTLINE_THICKNESS; + outlineRect.top = OUTLINE_THICKNESS; + + mCapRect = new RectF(); + batteryRect = new RectF(); + backgroundRect = new RectF(); + mTextRect = new Rect(); + } + + public void setBatteryLevel(int battery, boolean isChanrging) { + this.mBatteryLevel = battery > 100 ? 100 : Math.max(battery, 1); +// this.mBatteryLevel = battery; + this.mCharging = isChanrging; + requestLayout(); + } + + public int getBatteryLevel() { + return mBatteryLevel; + } + + /** + * 根据手机的分辨率从 dp 的单位 转成为 px(像素) + */ + public static int dip2px(Context context, float dpValue) { + final float scale = context.getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int specWidthSize = MeasureSpec.getSize(widthMeasureSpec);//宽 + int specHeightSize = MeasureSpec.getSize(heightMeasureSpec);//高 + Log.e("onMeasure", "specWidthSize: " + specWidthSize); + Log.e("onMeasure", "specHeightSize: " + specHeightSize); + Log.e("dip2px", "onMeasure: " + ScreenUtils.dip2px(mContext, OUTLINE_THICKNESS)); + + FLASH_HEIGHT = (int) (specHeightSize - OUTLINE_THICKNESS * 2); + FLASH_WIDTH = FLASH_HEIGHT; + + outlineRect.left = OUTLINE_THICKNESS + FLASH_WIDTH; + //设置电池外框 + outlineRect.right = specWidthSize - OUTLINE_THICKNESS - CAP_SPACE - CAP_WIDTH; + outlineRect.bottom = specHeightSize - OUTLINE_THICKNESS; + Log.e("onMeasure", "outlineRect.right: " + outlineRect.right); + Log.e("onMeasure", "outlineRect.bottom: " + outlineRect.bottom); + + backgroundRect.left = outlineRect.left; + backgroundRect.top = outlineRect.top; + backgroundRect.bottom = outlineRect.bottom; + backgroundRect.right = outlineRect.right; + Log.e("onMeasure", "backgroundRect.left : " + backgroundRect.left); + Log.e("onMeasure", "backgroundRect.top : " + backgroundRect.top); + Log.e("onMeasure", "backgroundRect.bottom : " + backgroundRect.bottom); + Log.e("onMeasure", "backgroundRect.right : " + backgroundRect.right); + + //设置电池盖矩形 + CAP_HEIGHT = specHeightSize / 2; + mCapRect.left = outlineRect.right + OUTLINE_THICKNESS + CAP_SPACE; + mCapRect.top = (float) specHeightSize / 2 - CAP_HEIGHT / 2; + mCapRect.right = specWidthSize; + mCapRect.bottom = (float) specHeightSize / 2 + CAP_HEIGHT / 2; + Log.e("onMeasure", "mCapRect.left: " + mCapRect.left); + Log.e("onMeasure", "mCapRect.top: " + mCapRect.top); + Log.e("onMeasure", "mCapRect.right: " + mCapRect.right); + Log.e("onMeasure", "mCapRect.bottom: " + mCapRect.bottom); + + + //设置电池体 + batteryRect.left = outlineRect.left + GAP_OF_SHAPE_BODY; + batteryRect.top = outlineRect.top + GAP_OF_SHAPE_BODY; + batteryRect.bottom = outlineRect.bottom - GAP_OF_SHAPE_BODY; + Log.e("onMeasure", "batteryRect.left: " + batteryRect.left); + Log.e("onMeasure", "batteryRect.top: " + batteryRect.top); + Log.e("onMeasure", "batteryRect.bottom: " + batteryRect.bottom); + + //闪电位置 + left = (int) (specWidthSize / 2 - OUTLINE_THICKNESS * 2); + top = (int) (specHeightSize / 2 - OUTLINE_THICKNESS * 2); + + fullPowerWidth = outlineRect.right - GAP_OF_SHAPE_BODY - batteryRect.left; + setMeasuredDimension(specWidthSize, specHeightSize); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + batteryRect.right = (float) mBatteryLevel / 100 * fullPowerWidth + batteryRect.left; + Log.e("onMeasure", "batteryRect.right : " + batteryRect.right); + + if (mCharging) { + mPowerPaint.setColor(ColorUtils.getColor(R.color.battery_charing)); + } else { + if (mBatteryLevel <= 20) { + mPowerPaint.setColor(ColorUtils.getColor(R.color.battery_low_power)); + } else { + mPowerPaint.setColor(ColorUtils.getColor(R.color.battery_normal_power)); + } + } + + canvas.drawRoundRect(backgroundRect, ROUND_CORNER_RADIUS, ROUND_CORNER_RADIUS, backgroundPaint); + canvas.drawRoundRect(outlineRect, ROUND_CORNER_RADIUS, ROUND_CORNER_RADIUS, batteryBodyPainter); + canvas.drawRoundRect(mCapRect, CAP_CORNER_RADIUS, CAP_CORNER_RADIUS, batteryHeadPainter); + canvas.drawRoundRect(batteryRect, ROUND_CORNER_RADIUS - 1, ROUND_CORNER_RADIUS - 1, mPowerPaint); + + String level = String.valueOf(mBatteryLevel); + mTextPaint.getTextBounds(level, 0, level.length(), mTextRect); + Log.e("onMeasure", "mTextRect.right : " + mTextRect.right); + Log.e("onMeasure", "mTextRect.left : " + mTextRect.left); + Log.e("onMeasure", "mTextRect.top : " + mTextRect.top); + Log.e("onMeasure", "mTextRect.bottom : " + mTextRect.bottom); + + int width1 = mTextRect.width(); + int height1 = mTextRect.height(); + Log.e("onMeasure", "width1 : " + width1); + Log.e("onMeasure", "height1 : " + height1); + +// canvas.drawText(level, (batteryRect.right - batteryRect.left - width1) - mTextRect.left, (batteryRect.bottom - batteryRect.top - height1) - mTextRect.top, mTextPaint); + canvas.drawText(level, backgroundRect.left + (backgroundRect.width() - width1 - OUTLINE_THICKNESS) / 2, backgroundRect.bottom - (backgroundRect.height() - height1 + OUTLINE_THICKNESS) / 2, mTextPaint); + + + if (mCharging) { + Bitmap bitmap = ImageUtils.getBitmap(R.drawable.ic_battery_charging); + Bitmap bitmapScale = Bitmap.createScaledBitmap(bitmap, FLASH_WIDTH, FLASH_HEIGHT, true); + canvas.drawBitmap(bitmapScale, 0, (CAP_HEIGHT * 2 - FLASH_HEIGHT) / 2, null); + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_battery_charging.png b/app/src/main/res/drawable-hdpi/ic_battery_charging.png new file mode 100644 index 0000000..89cf57e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_battery_charging.png differ diff --git a/app/src/main/res/drawable-hdpi/icon_wifi_connect.png b/app/src/main/res/drawable-hdpi/icon_wifi_connect.png new file mode 100644 index 0000000..521363e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/icon_wifi_connect.png differ diff --git a/app/src/main/res/drawable-hdpi/icon_wifi_disconnect.png b/app/src/main/res/drawable-hdpi/icon_wifi_disconnect.png new file mode 100644 index 0000000..e48689d Binary files /dev/null and b/app/src/main/res/drawable-hdpi/icon_wifi_disconnect.png differ diff --git a/app/src/main/res/drawable-hdpi/status_download.png b/app/src/main/res/drawable-hdpi/status_download.png index b9a349b..5098744 100644 Binary files a/app/src/main/res/drawable-hdpi/status_download.png and b/app/src/main/res/drawable-hdpi/status_download.png differ diff --git a/app/src/main/res/drawable-hdpi/wechat_service.png b/app/src/main/res/drawable-hdpi/wechat_service.png index bd76804..7100731 100644 Binary files a/app/src/main/res/drawable-hdpi/wechat_service.png and b/app/src/main/res/drawable-hdpi/wechat_service.png differ diff --git a/app/src/main/res/drawable/edit_text_bg.xml b/app/src/main/res/drawable/edit_text_bg.xml index f7a75ee..8463ba1 100644 --- a/app/src/main/res/drawable/edit_text_bg.xml +++ b/app/src/main/res/drawable/edit_text_bg.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"> + android:color="@color/default_text_color_dis" /> - + diff --git a/app/src/main/res/drawable/permission_auth_selector.xml b/app/src/main/res/drawable/permission_auth_selector.xml index 48bf356..db31206 100644 --- a/app/src/main/res/drawable/permission_auth_selector.xml +++ b/app/src/main/res/drawable/permission_auth_selector.xml @@ -1,6 +1,6 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/tv_permission.xml b/app/src/main/res/drawable/tv_permission.xml new file mode 100644 index 0000000..14ef611 --- /dev/null +++ b/app/src/main/res/drawable/tv_permission.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_exit.xml b/app/src/main/res/layout-land/activity_exit.xml index e1f599d..fdccb0e 100644 --- a/app/src/main/res/layout-land/activity_exit.xml +++ b/app/src/main/res/layout-land/activity_exit.xml @@ -12,382 +12,390 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - - - - - - + android:src="@drawable/wallpaper_land" /> + android:layout_height="match_parent"> - + + + + + + + + + - + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/constraintLayout5" + app:layout_constraintVertical_bias="0.4"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout-land/activity_passwd.xml b/app/src/main/res/layout-land/activity_passwd.xml index 148a5ee..36fa268 100644 --- a/app/src/main/res/layout-land/activity_passwd.xml +++ b/app/src/main/res/layout-land/activity_passwd.xml @@ -12,347 +12,354 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - + android:src="@drawable/wallpaper_land" /> + android:layout_height="match_parent"> - - + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/constraintLayout5" + app:layout_constraintVertical_bias="0.5"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout-land/fragment_user.xml b/app/src/main/res/layout-land/fragment_user.xml index 308fdef..090cb27 100644 --- a/app/src/main/res/layout-land/fragment_user.xml +++ b/app/src/main/res/layout-land/fragment_user.xml @@ -67,10 +67,73 @@ android:textColor="@color/lightGray" android:textSize="@dimen/sp_8" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toStartOf="@+id/constraintLayout13" app:layout_constraintStart_toEndOf="@+id/iv_speaker" app:layout_constraintTop_toTopOf="parent" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + android:src="@drawable/wallpaper_land" /> + android:layout_height="match_parent"> - + app:layout_constraintTop_toTopOf="parent"> - + + + s + + + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/constraintLayout5" + app:layout_constraintVertical_bias="0.4"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_passwd.xml b/app/src/main/res/layout/activity_passwd.xml index 2c7ec10..7314980 100644 --- a/app/src/main/res/layout/activity_passwd.xml +++ b/app/src/main/res/layout/activity_passwd.xml @@ -12,350 +12,356 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - + android:src="@drawable/wallpaper_land" /> + android:layout_height="match_parent"> - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.06" /> - - + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/constraintLayout5" + app:layout_constraintVertical_bias="0.4"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_permission.xml b/app/src/main/res/layout/activity_permission.xml index fce5a46..87f4a0c 100644 --- a/app/src/main/res/layout/activity_permission.xml +++ b/app/src/main/res/layout/activity_permission.xml @@ -18,13 +18,13 @@ @@ -92,8 +92,8 @@ android:maxLines="1" android:onClick="@{click::openStorage}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -123,7 +123,7 @@ android:maxLines="1" android:text="读取电话状态" android:textColor="@color/black" - android:textSize="@dimen/sp_16" + android:textSize="@dimen/sp_14" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -150,8 +150,8 @@ android:maxLines="1" android:onClick="@{click::openReadPhone}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -182,7 +182,7 @@ android:maxLines="1" android:text="修改系统设置" android:textColor="@color/black" - android:textSize="@dimen/sp_16" + android:textSize="@dimen/sp_14" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -209,8 +209,8 @@ android:maxLines="1" android:onClick="@{click::openWriteSettings}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -240,7 +240,7 @@ android:maxLines="1" android:text="定位权限" android:textColor="@color/black" - android:textSize="@dimen/sp_16" + android:textSize="@dimen/sp_14" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -267,8 +267,8 @@ android:maxLines="1" android:onClick="@{click::open_coarse_location}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -298,7 +298,7 @@ android:maxLines="1" android:text="定位权限" android:textColor="@color/black" - android:textSize="@dimen/sp_16" + android:textSize="@dimen/sp_14" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -325,8 +325,8 @@ android:maxLines="1" android:onClick="@{click::open_fine_location}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -356,7 +356,7 @@ android:maxLines="1" android:text="后台定位权限" android:textColor="@color/black" - android:textSize="@dimen/sp_16" + android:textSize="@dimen/sp_14" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -383,8 +383,8 @@ android:maxLines="1" android:onClick="@{click::open_background_location}" android:text="去授权" - android:textColor="@color/white" - android:textSize="@dimen/sp_14" + android:textColor="@drawable/tv_permission" + android:textSize="@dimen/sp_13" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/fragment_user.xml b/app/src/main/res/layout/fragment_user.xml index 308fdef..cf321b4 100644 --- a/app/src/main/res/layout/fragment_user.xml +++ b/app/src/main/res/layout/fragment_user.xml @@ -67,10 +67,72 @@ android:textColor="@color/lightGray" android:textSize="@dimen/sp_8" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toStartOf="@+id/constraintLayout13" app:layout_constraintStart_toEndOf="@+id/iv_speaker" app:layout_constraintTop_toTopOf="parent" /> + + + + + + + + + + + + + + + #3a3a3a #646464 #ab9452 + #e5e5e5 + + + #e84446 + #ffffff + #ffffff + #b7f0d3 + #ffffff + #56478A + + #1AFFFFFF + #E6FFFFFF + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 473c2d1..3704bde 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,5 +16,6 @@ %d款应用 学习时长%s 未设置 + 桌面运行需授予权限,点击设置 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e618807..ab89fa7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -10,6 +10,14 @@ true + +