version:2.2.8
update:2021-09-30 18:32:40 fix: add:
This commit is contained in:
@@ -83,8 +83,8 @@ android {
|
||||
flavorDimensions "default"
|
||||
versionCode 4
|
||||
versionName "1.3"
|
||||
// versionCode 633
|
||||
// versionName "2.2.3"
|
||||
// versionCode 718
|
||||
// versionName "2.1.8"
|
||||
/*********************************极光推送************************************/
|
||||
manifestPlaceholders = [
|
||||
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||||
@@ -326,7 +326,7 @@ dependencies {
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.12'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
//implementation "com.uber.autodispose:autodispose:1.3.0"
|
||||
//implementation "com.uber.autodispose:autodispose-android-archcomponents:1.3.0"
|
||||
@@ -361,6 +361,13 @@ dependencies {
|
||||
implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.2'
|
||||
implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.2'
|
||||
implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2'
|
||||
//状态栏透明
|
||||
// 基础依赖包,必须要依赖
|
||||
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
|
||||
// fragment快速实现(可选)
|
||||
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
|
||||
// kotlin扩展(可选)
|
||||
//implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'
|
||||
|
||||
implementation 'com.tencent:mmkv-static:1.2.10'
|
||||
}
|
||||
|
||||
@@ -121,7 +121,8 @@
|
||||
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
|
||||
<!-- </intent-filter> -->
|
||||
</activity> <!-- <service android:name=".server.MyDownloadService" /> -->
|
||||
</activity>
|
||||
<!-- <service android:name=".server.MyDownloadService" /> -->
|
||||
<service android:name=".service.GuardService" />
|
||||
<service
|
||||
android:name=".service.StepService"
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.StatusBarManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
@@ -24,6 +25,7 @@ import com.mjsheng.myappstore.service.LogcatService;
|
||||
import com.mjsheng.myappstore.utils.JGYUtils;
|
||||
import com.mjsheng.myappstore.utils.Logutils;
|
||||
import com.mjsheng.myappstore.utils.ServiceAliveUtils;
|
||||
import com.mjsheng.myappstore.utils.StatusBarUtil;
|
||||
import com.mjsheng.myappstore.utils.Utils;
|
||||
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
@@ -37,6 +39,7 @@ public class HomeActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
StatusBarUtil.init(this);
|
||||
setContentView(R.layout.activity_home);
|
||||
if (BuildConfig.DEBUG) {
|
||||
bt_log = findViewById(R.id.bt_log);
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package com.mjsheng.myappstore.base;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.mjsheng.myappstore.utils.StatusBarUtil;
|
||||
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
|
||||
|
||||
public abstract class BaseActivity extends RxAppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
StatusBarUtil.init(this);
|
||||
setContentView(this.getLayoutId());
|
||||
initView();
|
||||
initData();
|
||||
@@ -22,7 +27,6 @@ public abstract class BaseActivity extends RxAppCompatActivity {
|
||||
|
||||
/**
|
||||
* 设置布局
|
||||
*
|
||||
*/
|
||||
public abstract int getLayoutId();
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mjsheng.myappstore.base;
|
||||
|
||||
import android.content.Context;
|
||||
import android.nfc.Tag;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Process;
|
||||
@@ -92,15 +93,16 @@ public class BaseApplication extends MultiDexApplication {
|
||||
}
|
||||
|
||||
private void init() {
|
||||
String rootDir = MMKV.initialize(this);
|
||||
Logutils.e(TAG, "mmkv root: " + rootDir);
|
||||
ToastUtil.init(this);
|
||||
NetInterfaceManager.init(this);
|
||||
JGYUtils.init(this);
|
||||
XAPKUtils.init(this);
|
||||
FileManager.init(this);
|
||||
AmapManager.init(this);
|
||||
AmapManager.getInstance().initAmap();
|
||||
ToastUtil.init(this);
|
||||
String rootDir = MMKV.initialize(this);
|
||||
System.out.println("mmkv root: " + rootDir);
|
||||
|
||||
JGYUtils.getInstance().hookWebView();
|
||||
|
||||
// 设置开启日志,发布时请关闭日志
|
||||
@@ -260,7 +262,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
@Override
|
||||
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
|
||||
Log.e("cleanJpushAlias", "onResponse: " + response.toString());
|
||||
Log.e(TAG, "onResponse: "+"清除Alias成功" );
|
||||
Log.e(TAG, "onResponse: " + "清除Alias成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -282,7 +284,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
@Override
|
||||
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
|
||||
Log.e("cleanJpushTag", "onResponse: " + response.toString());
|
||||
Log.e(TAG, "onResponse: "+"清除Tag成功" );
|
||||
Log.e(TAG, "onResponse: " + "清除Tag成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,344 @@
|
||||
package com.mjsheng.myappstore.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Display;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Properties;
|
||||
|
||||
public class StatusBarUtil {
|
||||
public static int screenWidth;
|
||||
public static int screenHeight;
|
||||
public static int navigationHeight = 0;
|
||||
|
||||
private static DisplayMetrics mMetrics;
|
||||
public static final String HOME_CURRENT_TAB_POSITION = "HOME_CURRENT_TAB_POSITION";
|
||||
|
||||
public static final String SYS_EMUI = "sys_emui";
|
||||
public static final String SYS_MIUI = "sys_miui";
|
||||
public static final String SYS_FLYME = "sys_flyme";
|
||||
private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";
|
||||
private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";
|
||||
private static final String KEY_MIUI_INTERNAL_STORAGE = "ro.miui.internal.storage";
|
||||
private static final String KEY_EMUI_API_LEVEL = "ro.build.hw_emui_api_level";
|
||||
private static final String KEY_EMUI_VERSION = "ro.build.version.emui";
|
||||
private static final String KEY_EMUI_CONFIG_HW_SYS_VERSION = "ro.confg.hw_systemversion";
|
||||
|
||||
public static void init(Activity activity) {
|
||||
ViewGroup contentLayout = activity.getWindow().getDecorView().findViewById(Window.ID_ANDROID_CONTENT);
|
||||
StatusBarUtil.setStatusBar(activity, false, true);
|
||||
StatusBarUtil.setStatusTextColor(true, activity);
|
||||
StatusBarUtil.setStatusBarPadding(activity, contentLayout);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
activity.getWindow().setStatusBarColor(activity.getResources().getColor(android.R.color.transparent));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过反射的方式获取状态栏高度
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static int getStatusBarHeight(Context context) {
|
||||
try {
|
||||
Class<?> c = Class.forName("com.android.internal.R$dimen");
|
||||
Object obj = c.newInstance();
|
||||
Field field = c.getField("status_bar_height");
|
||||
int x = Integer.parseInt(field.get(obj).toString());
|
||||
return context.getResources().getDimensionPixelSize(x);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取底部导航栏高度
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static int getNavigationBarHeight(Context context) {
|
||||
Resources resources = context.getResources();
|
||||
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
|
||||
//获取NavigationBar的高度
|
||||
navigationHeight = resources.getDimensionPixelSize(resourceId);
|
||||
return navigationHeight;
|
||||
}
|
||||
|
||||
//获取是否存在NavigationBar
|
||||
public static boolean checkDeviceHasNavigationBar(Context context) {
|
||||
boolean hasNavigationBar = false;
|
||||
Resources rs = context.getResources();
|
||||
int id = rs.getIdentifier("config_showNavigationBar", "bool", "android");
|
||||
if (id > 0) {
|
||||
hasNavigationBar = rs.getBoolean(id);
|
||||
}
|
||||
try {
|
||||
Class systemPropertiesClass = Class.forName("android.os.SystemProperties");
|
||||
Method m = systemPropertiesClass.getMethod("get", String.class);
|
||||
String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys");
|
||||
if ("1".equals(navBarOverride)) {
|
||||
hasNavigationBar = false;
|
||||
} else if ("0".equals(navBarOverride)) {
|
||||
hasNavigationBar = true;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
return hasNavigationBar;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param activity
|
||||
* @param useThemestatusBarColor 是否要状态栏的颜色,不设置则为透明色
|
||||
* @param withoutUseStatusBarColor 是否不需要使用状态栏为暗色调
|
||||
*/
|
||||
public static void setStatusBar(Activity activity, boolean useThemestatusBarColor, boolean withoutUseStatusBarColor) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上
|
||||
View decorView = activity.getWindow().getDecorView();
|
||||
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
|
||||
decorView.setSystemUiVisibility(option);
|
||||
if (useThemestatusBarColor) {
|
||||
activity.getWindow().setStatusBarColor(activity.getResources().getColor(android.R.color.white));
|
||||
} else {
|
||||
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
|
||||
}
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4到5.0
|
||||
WindowManager.LayoutParams localLayoutParams = activity.getWindow().getAttributes();
|
||||
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !withoutUseStatusBarColor) {
|
||||
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
}
|
||||
}
|
||||
|
||||
public static void reMeasure(Activity activity) {
|
||||
Display display = activity.getWindowManager().getDefaultDisplay();
|
||||
mMetrics = new DisplayMetrics();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 17) {
|
||||
display.getRealMetrics(mMetrics);
|
||||
} else {
|
||||
display.getMetrics(mMetrics);
|
||||
}
|
||||
|
||||
screenWidth = mMetrics.widthPixels;
|
||||
screenHeight = mMetrics.heightPixels;
|
||||
}
|
||||
|
||||
/**
|
||||
* 改变魅族的状态栏字体为黑色,要求FlyMe4以上
|
||||
*/
|
||||
private static void processFlyMe(boolean isLightStatusBar, Activity activity) {
|
||||
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
|
||||
try {
|
||||
Class<?> instance = Class.forName("android.view.WindowManager$LayoutParams");
|
||||
int value = instance.getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON").getInt(lp);
|
||||
Field field = instance.getDeclaredField("meizuFlags");
|
||||
field.setAccessible(true);
|
||||
int origin = field.getInt(lp);
|
||||
if (isLightStatusBar) {
|
||||
field.set(lp, origin | value);
|
||||
} else {
|
||||
field.set(lp, (~value) & origin);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 改变小米的状态栏字体颜色为黑色, 要求MIUI6以上 lightStatusBar为真时表示黑色字体
|
||||
*/
|
||||
private static void processMIUI(boolean lightStatusBar, Activity activity) {
|
||||
Class<? extends Window> clazz = activity.getWindow().getClass();
|
||||
try {
|
||||
int darkModeFlag;
|
||||
Class<?> layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
|
||||
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
|
||||
darkModeFlag = field.getInt(layoutParams);
|
||||
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
|
||||
extraFlagField.invoke(activity.getWindow(), lightStatusBar ? darkModeFlag : 0, darkModeFlag);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置OPPO手机状态栏字体为黑色(colorOS3.0,6.0以下部分手机)
|
||||
*
|
||||
* @param lightStatusBar
|
||||
* @param activity
|
||||
*/
|
||||
private static final int SYSTEM_UI_FLAG_OP_STATUS_BAR_TINT = 0x00000010;
|
||||
|
||||
private static void setOPPOStatusTextColor(boolean lightStatusBar, Activity activity) {
|
||||
Window window = activity.getWindow();
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
||||
int vis = window.getDecorView().getSystemUiVisibility();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (lightStatusBar) {
|
||||
vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
|
||||
} else {
|
||||
vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
|
||||
}
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
if (lightStatusBar) {
|
||||
vis |= SYSTEM_UI_FLAG_OP_STATUS_BAR_TINT;
|
||||
} else {
|
||||
vis &= ~SYSTEM_UI_FLAG_OP_STATUS_BAR_TINT;
|
||||
}
|
||||
}
|
||||
window.getDecorView().setSystemUiVisibility(vis);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断手机是否是小米
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static boolean isMIUI() {
|
||||
return SYS_MIUI.equals(getSystem());
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断手机是否是魅族
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static boolean isFlyme() {
|
||||
try {
|
||||
// Invoke Build.hasSmartBar()
|
||||
final Method method = Build.class.getMethod("hasSmartBar");
|
||||
return method != null;
|
||||
} catch (final Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态栏文字色值为深色调
|
||||
*
|
||||
* @param useDart 是否使用深色调
|
||||
* @param activity
|
||||
*/
|
||||
public static void setStatusTextColor(boolean useDart, Activity activity) {
|
||||
if (isFlyme()) {
|
||||
processFlyMe(useDart, activity);
|
||||
} else if (isMIUI()) {
|
||||
processMIUI(useDart, activity);
|
||||
} else if (Build.MANUFACTURER.equalsIgnoreCase("OPPO")) {
|
||||
//OPPO
|
||||
setOPPOStatusTextColor(useDart, activity);
|
||||
} else {
|
||||
if (useDart) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
}
|
||||
} else {
|
||||
activity.getWindow().getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
||||
}
|
||||
activity.getWindow().getDecorView().findViewById(android.R.id.content).setPadding(0, 0, 0, navigationHeight);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 作者:Loyea
|
||||
* 链接:https://www.jianshu.com/p/abd021c22728
|
||||
* 來源:简书
|
||||
* 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
|
||||
*/
|
||||
public static void setAndroidNativeLightStatusBar(Activity activity, boolean dark) {
|
||||
View decor = activity.getWindow().getDecorView();
|
||||
if (dark) {
|
||||
decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
} else {
|
||||
// We want to change tint color to white again.
|
||||
// You can also record the flags in advance so that you can turn UI back completely if
|
||||
// you have set other flags before, such as translucent or full screen.
|
||||
decor.setSystemUiVisibility(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getSystem() {
|
||||
String SYS = "";
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
|
||||
if (!TextUtils.isEmpty(getSystemProperty(KEY_MIUI_VERSION_CODE, ""))
|
||||
|| !TextUtils.isEmpty(getSystemProperty(KEY_MIUI_VERSION_NAME, ""))
|
||||
|| !TextUtils.isEmpty(getSystemProperty(KEY_MIUI_INTERNAL_STORAGE, ""))) {
|
||||
SYS = SYS_MIUI;//小米
|
||||
} else if (!TextUtils.isEmpty(getSystemProperty(KEY_EMUI_API_LEVEL, ""))
|
||||
|| !TextUtils.isEmpty(getSystemProperty(KEY_EMUI_VERSION, ""))
|
||||
|| !TextUtils.isEmpty(getSystemProperty(KEY_EMUI_CONFIG_HW_SYS_VERSION, ""))) {
|
||||
SYS = SYS_EMUI;//华为
|
||||
} else if (getMeizuFlymeOSFlag().toLowerCase().contains("flyme")) {
|
||||
SYS = SYS_FLYME;//魅族
|
||||
}
|
||||
return SYS;
|
||||
} else {
|
||||
try {
|
||||
Properties prop = new Properties();
|
||||
prop.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));
|
||||
if (prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null
|
||||
|| prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null
|
||||
|| prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null) {
|
||||
SYS = SYS_MIUI;//小米
|
||||
} else if (prop.getProperty(KEY_EMUI_API_LEVEL, null) != null
|
||||
|| prop.getProperty(KEY_EMUI_VERSION, null) != null
|
||||
|| prop.getProperty(KEY_EMUI_CONFIG_HW_SYS_VERSION, null) != null) {
|
||||
SYS = SYS_EMUI;//华为
|
||||
} else if (getMeizuFlymeOSFlag().toLowerCase().contains("flyme")) {
|
||||
SYS = SYS_FLYME;//魅族
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return SYS;
|
||||
} finally {
|
||||
return SYS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getSystemProperty(String key, String defaultValue) {
|
||||
try {
|
||||
Class<?> clz = Class.forName("android.os.SystemProperties");
|
||||
Method get = clz.getMethod("get", String.class, String.class);
|
||||
return (String) get.invoke(clz, key, defaultValue);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public static String getMeizuFlymeOSFlag() {
|
||||
return getSystemProperty("ro.build.display.id", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 全屏模式下 针对刘海屏向下移动view
|
||||
*
|
||||
* @param context
|
||||
* @param view 需要设置padding的view
|
||||
*/
|
||||
public static void setStatusBarPadding(Context context, View view) {
|
||||
if (view != null) {
|
||||
view.setPadding(0, getStatusBarHeight(context), 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user