A util for setting status bar style on Android App.

Overview

StatusBarUtil

996.icu

Android Arsenal

Download

A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4).

中文版点我

Sample

Download StatusBarUtil-Demo

ChangeLog

CLICK ME

Usage

  1. Add the dependencies to your build.gradle file, StatusBarUtil is avaiable in JCenter:

    compile 'com.jaeger.statusbarutil:library:1.5.1'

    I fixed typo, change "statusbaruitl" to "statusbarutil", please notice this.

  2. Call method you need after setContentView(), such as :

    setContentView(R.layout.main_activity);
    ...
    StatusBarUtil.setColor(MainActivity.this, mColor);
  3. If you use this util in a page which containing a DrawerLayout, you need add android:fitsSystemWindows="true" for DrawerLayout in your layout XML:

    <android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">
    
        ...
    
    </android.support.v4.widget.DrawerLayout>
  4. Set color for swipe back page

    Recommend using with bingoogolapple/BGASwipeBackLayout-Android: Android Activity 滑动返回

    StatusBarUtil.setColorForSwipeBack(Activity activity, @ColorInt int color, int statusBarAlpha)
  5. All statusBarAlpha value you set should between 0 ~ 255

  6. How to use in Fragment, please read UseInFragmentActivity.java

    Handle all Fragments in ViewPager as ImageViewFragment, add a fake View in your Fragment layout as StatusBar :

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <View
            android:id="@+id/fake_statusbar_view"
            android:layout_width="match_parent"
            android:layout_height="@dimen/statusbar_view_height"
            android:background="@color/colorPrimary"/>
    
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="match_parent"
            android:layout_height="56dp"
            android:background="@color/colorPrimary"
            android:gravity="center"
            android:text="@string/app_name"
            android:textColor="@color/white"
            android:textSize="24sp"/>   
    </LinearLayout>

    The fake StatusBar View height value statusbar_view_height defined in dimens.xml

    ~ values-v19/dimens.xml
    
    <dimen name="statusbar_view_height">25dp</dimen>
    
    ~ values/dimens.xml
    
    <dimen name="statusbar_view_height">0dp</dimen>

    When you change StatusBarColor :

    mFakeStatusBar.setBackgroundColor(color);

    Then in the Activity which contains ViewPage, just invoke

    StatusBarUtil.setTranslucentForImageViewInFragment(UseInFragmentActivity.this, null);

    Please read UseInFragmentActivity.java

Features

  • Set status bar color

    StatusBarUtil.setColor(Activity activity, int color)

  • Set status bar translucent

    StatusBarUtil.setTranslucent(Activity activity, int statusBarAlpha)

  • Set status bar transparent

    StatusBarUtil.setTransparent(Activity activity)

  • Set status bar color for DrawerLayout

    StatusBarUtil.setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int color)

  • Set translucent status bar for using ImageView as head view page

      StatusBarUtil.setTranslucentForImageView(Activity activity, int statusBarAlpha, View needOffsetView)

  • Set Light or Dark mode

      StatusBarUtil.setLightMode(Activity activity)
      StatusBarUtil.setDarkMode(Activity activity)
    

  • Use in fragment

  • Set color for swipe back page

      StatusBarUtil.setColorForSwipeBack(Activity activity, @ColorInt int color, int statusBarAlpha)

  • Pass statusBarAlpha param when necessary to change your status bar alpha, which is 112 by default.

License

Copyright 2016 Jaeger Chen

Licensed under the Apache License, Version 2.0 (the "License");	you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • 4.4系统在切换fragment时改变状态栏有问题

    4.4系统在切换fragment时改变状态栏有问题

    首页用的图片,其他三个fragment用的颜色,发现切换到其他界面后在切回首页,图片有部分会被不见掉。debug看了一下,第一次进来,调用clearPreviousSetting方法时,不会调用以下代码

    if (count > 0 && decorView.getChildAt(count - 1) instanceof StatusBarView) {
                decorView.removeViewAt(count - 1);
                ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
                rootView.setPadding(0, -getStatusBarHeight(activity), 0, 0);
            }
    

    所以显示正常。 切换到其他界面在切回首页时,会调用上面的代码,导致paddingTop是负数,图片上移,所以看起来上面有部分不见了。 修改为rootView.setPadding(0, 0, 0, 0);后发现可以用了

    bug fixed 
    opened by a404318964 18
  • 如果是查看大图界面,如何延伸到状态栏

    如果是查看大图界面,如何延伸到状态栏

    <?xml version="1.0" encoding="utf-8"?> <FrameLayout android:id="@+id/fl" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/vPager" android:layout_width="match_parent" android:layout_height="match_parent" /> <include layout="@layout/include_toolbar"/> </FrameLayout> 这是我的查看大图界面布局,viewpager里是包含photoview的fragment,我用StatusBarUtil.setTransparent(this);

    opened by chenshuhong 12
  • 自定义标题栏和状态栏之间间距问题

    自定义标题栏和状态栏之间间距问题

    请问在fragment中使用这个框架的时候,能否用代码设置那个View在各个分辨率下的res/values-v19/dimens的statusbar_view_height,又该怎么设置?因为在xml下设置那个view的高度不能很好的完成适配。我现在的需求是跟美团一样在主页的fragment里面scrollview上滑,状态栏和自定义标题栏颜色从透明渐变到蓝色,渐变我已经完成,只是那个view高度适配的时候,我试着写了多种分辨率的res/value-1024x768等等,但值大了状态栏和自定义标题栏会因为底色的反差就会有一条间隔,值小了两者就会重叠,不能很好实现完全挨在一起,你的sample代码里面因为都是纯色(透明和随机出来的一个色号),不会渐变与底色反差,所以没有这个问题

    opened by yl82846094 11
  •  StatusBarUtil.setColor(this, Color.BLUE)位移不对

    StatusBarUtil.setColor(this, Color.BLUE)位移不对

    StatusBarUtil.setColor(this, Color.BLUE);
    
    <style name="Theme.AppCompat.Translucent" parent="AppTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
    </style>
    

    `_

    _`

    help wanted 
    opened by sungerk 11
  • setTranslucentForImageViewInFragment + setLightMode 6.0以上版本多出 fadebar

    setTranslucentForImageViewInFragment + setLightMode 6.0以上版本多出 fadebar

    在 UseInFragmentActivity.java 增加 setLightMode(this) , 华为8.0手机上多出 fade_bar

    去掉 setLightMode(this) 则显示正常, 有什么解决办法吗?

    764260970963420006

    package com.jaeger.statusbarutil;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.ViewPager;
    import com.ashokvarma.bottomnavigation.BottomNavigationBar;
    import com.ashokvarma.bottomnavigation.BottomNavigationItem;
    import com.jaeger.library.StatusBarUtil;
    import com.jaeger.statusbardemo.R;
    import java.util.ArrayList;
    import java.util.Random;
    
    /**
     * Created by Jaeger on 16/8/11.
     *
     * Email: [email protected]
     * GitHub: https://github.com/laobie
     */
    public class UseInFragmentActivity extends BaseActivity {
      private ViewPager mVpHome;
      private BottomNavigationBar mBottomNavigationBar;
      private ArrayList<Fragment> mFragmentList = new ArrayList<>();
    
      @Override protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_use_in_fragment);
        mVpHome = (ViewPager) findViewById(R.id.vp_home);
        mBottomNavigationBar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar);
        mBottomNavigationBar.addItem(new BottomNavigationItem(R.drawable.ic_favorite, "One"))
            .addItem(new BottomNavigationItem(R.drawable.ic_gavel, "Two"))
            .addItem(new BottomNavigationItem(R.drawable.ic_grade, "Three"))
            .addItem(new BottomNavigationItem(R.drawable.ic_group_work, "Four"))
            .initialise();
    
        mBottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
          @Override public void onTabSelected(int position) {
            mVpHome.setCurrentItem(position);
          }
    
          @Override public void onTabUnselected(int position) {
    
          }
    
          @Override public void onTabReselected(int position) {
    
          }
        });
    
        mFragmentList.add(new SimpleFragment());
        mFragmentList.add(new SimpleFragment());
        mFragmentList.add(new SimpleFragment());
        mFragmentList.add(new SimpleFragment());
    
        mVpHome.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
          @Override
          public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
          }
    
          @Override public void onPageSelected(int position) {
            mBottomNavigationBar.selectTab(position);
            switch (position) {
              case 0:
                break;
              default:
                Random random = new Random();
                int color = 0xff000000 | random.nextInt(0xffffff);
                if (mFragmentList.get(position) instanceof SimpleFragment) {
                  ((SimpleFragment) mFragmentList.get(position)).setTvTitleBackgroundColor(color);
                }
                break;
            }
          }
    
          @Override public void onPageScrollStateChanged(int state) {
    
          }
        });
        mVpHome.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
          @Override public Fragment getItem(int position) {
            return mFragmentList.get(position);
          }
    
          @Override public int getCount() {
            return mFragmentList.size();
          }
        });
      }
    
      @Override protected void setStatusBar() {
        StatusBarUtil.setTranslucentForImageViewInFragment(UseInFragmentActivity.this, 0, null);
        StatusBarUtil.setLightMode(this);
      }
    }
    
    
    package com.jaeger.statusbarutil;
    
    import android.os.Bundle;
    import android.support.annotation.ColorInt;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    import com.jaeger.statusbardemo.R;
    
    /**
     * Created by Jaeger on 16/8/11.
     *
     * Email: [email protected]
     * GitHub: https://github.com/laobie
     */
    public class SimpleFragment extends Fragment {
      private TextView mTvTitle;
      private View mFakeStatusBar;
    
      @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
          @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragement_simple, container, false);
      }
    
      @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        mTvTitle = (TextView) view.findViewById(R.id.tv_title);
        mFakeStatusBar = view.findViewById(R.id.fake_status_bar);
      }
    
      public void setTvTitleBackgroundColor(@ColorInt int color) {
        //mTvTitle.setBackgroundColor(color);
        mFakeStatusBar.setBackgroundColor(color);
      }
    }
    
    
    fixed 
    opened by MariShunxiang 10
  • Sample “UseInFragmentActivity”,ImageFrament不在viewpager的第一页时,切换到ImageFrament整个屏幕往上移动了一个状态栏高度

    Sample “UseInFragmentActivity”,ImageFrament不在viewpager的第一页时,切换到ImageFrament整个屏幕往上移动了一个状态栏高度

    ImageFrament不放在viewpager的第一页时,切换到ImageFrament时整个界面往上移动了一个状态栏高度(底部冒出一个高度为状态栏高度的白色的view)。添加fragment代码如下: mFragmentList.add(new SimpleFragment());

    mFragmentList.add(new ImageFragment());

    mFragmentList.add(new SimpleFragment()); mFragmentList.add(new SimpleFragment()); 并且UseInFragmentActivity的setStatusBar方法改为如下: protected void setStatusBar() { StatusBarUtil.setColor(UseInFragmentActivity.this, ContextCompat.getColor(this, R.color.colorAccent), 0);

        //isFullScreen = true;
        //StatusBarUtil.setTranslucentForImageViewInFragment(UseInFragmentActivity.this,0, null);
    }
    

    其他代码未变动。

    opened by Chen-Sir 10
  • 荣耀SCL-AL00沉浸式不行

    荣耀SCL-AL00沉浸式不行

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                setTranslucentStatus(activity, true);
                SystemBarTintManager tintManager = new SystemBarTintManager(activity, null);
                tintManager.setStatusBarTintEnabled(true);
                tintManager.setStatusBarTintResource(colorId);
            }
    
    @TargetApi(Build.VERSION_CODES.KITKAT)
        public static boolean setTranslucentStatus(Activity activity, boolean on) {
            Window win = activity.getWindow();
            WindowManager.LayoutParams winParams = win.getAttributes();
            final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
            if (on) {
                winParams.flags |= bits;
            } else {
                winParams.flags &= ~bits;
            }
            win.setAttributes(winParams);
    
            return on;
        }
    

    根布局加上android:fitsSystemWindows="true"这样是可以的,不过配合侧滑的效果不是很好

    部分国产 ROM 无法兼容 
    opened by JakeWoki 8
  • toolbar被覆盖了statusbar的位置

    toolbar被覆盖了statusbar的位置

    出现的问题:toolbar被覆盖了statusbar的位置,米3, Sys:6.1

    xml:

    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/dl_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
    
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="#ccffee" />
    
    
            <FrameLayout
                android:id="@+id/fl_main_content"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
    
    
        </LinearLayout>
    
        <LinearLayout
            android:id="@+id/ll_main_menu_parent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="start">
    
            <FrameLayout
                android:id="@+id/fl_main_menu"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
    
        </LinearLayout>
    
    
    </android.support.v4.widget.DrawerLayout>
    

    java: @Override public void setStatusBar() { StatusBarUtils.setTranslucentForDrawerLayout(this, dl_main, 0); }

    
    
    bug 
    opened by BelongsH 8
  • 关于沉浸后顶部出现的问题

    关于沉浸后顶部出现的问题

    又来麻烦您了,要实现这样的功能:我的主页顶部是一个banner广告轮播,我现在要实现一个随着滑动标题栏渐变的效果,类似QQ空间。现在遇到如下图的情况 error

    沉浸式代码是这样设置的:StatusBarUtil.setTransparentForImageViewInFragment(getActivity(), rlBackGround); 其中rlBackGround:表示那个渐变的 红色标题栏 。 这样设置后,就出现了上图的情况,如果 StatusBarUtil.setTransparentForImageViewInFragment()方法的第二个参数传广告轮播控件banner的话,就会出现标题栏向上移动覆盖一小部分状态栏了,希望能指点一下,谢谢

    opened by androidXiaoHao 6
  • Logo proposal

    Logo proposal

    Hello! I would like to collaborate with this project by providing a free new logo that suits with the project! Let me know if interested so we can get in touch.

    opened by LuigiBaute 5
  • 1.5.1版本build失败

    1.5.1版本build失败

    Could not find com.jaeger.statusbarutil:library:1.5.1.
    Required by:
        project :app
    

    build保存错 Android Studio Chipmunk | 2021.2.1 Patch 1 Build #AI-212.5712.43.2112.8609683, built on May 19, 2022 Runtime version: 11.0.12+7-b1504.28-7817840 amd64 VM: OpenJDK 64-Bit Server VM by Oracle Corporation Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 3072M Cores: 8 Registry: external.system.auto.import.disabled=true Non-Bundled Plugins: org.jetbrains.kotlin (212-1.7.10-release-333-AS5457.46)

    gradle plugin :7.2.1 gradle:7.3.3

    opened by star-heng 0
  • 有个StatusBarUtils的报错 能看下么

    有个StatusBarUtils的报错 能看下么

    03-08 18:45:18.574 4474 4474 I zygote : Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; 03-08 18:45:18.574 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.574 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.574 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.574 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.574 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.574 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.574 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.574 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837) 03-08 18:45:18.574 4474 4474 I zygote : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk"],nativeLibraryDirectories=[/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/lib/arm, /data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 03-08 18:45:18.574 4474 4474 I zygote : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125) 03-08 18:45:18.574 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379) 03-08 18:45:18.574 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) 03-08 18:45:18.574 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.574 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.574 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.574 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.574 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.574 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.574 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.574 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.574 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.574 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.574 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.574 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837) 03-08 18:45:18.574 4474 4474 I zygote : 03-08 18:45:18.575 4474 4474 I zygote : Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; 03-08 18:45:18.575 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.575 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.575 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.575 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.575 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.575 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.575 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.575 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837) 03-08 18:45:18.575 4474 4474 I zygote : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk"],nativeLibraryDirectories=[/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/lib/arm, /data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 03-08 18:45:18.575 4474 4474 I zygote : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125) 03-08 18:45:18.575 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379) 03-08 18:45:18.575 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) 03-08 18:45:18.575 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.575 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.575 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.575 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.575 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.575 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.575 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.575 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.575 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.575 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.575 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.575 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837) 03-08 18:45:18.575 4474 4474 I zygote : 03-08 18:45:18.576 4474 4474 I zygote : Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener; 03-08 18:45:18.576 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.576 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.576 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.576 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.576 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.576 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.576 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.576 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837) 03-08 18:45:18.576 4474 4474 I zygote : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk"],nativeLibraryDirectories=[/data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/lib/arm, /data/app/com.knew.feed-98AVCWFm_szN00veu9c5Wg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 03-08 18:45:18.576 4474 4474 I zygote : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125) 03-08 18:45:18.576 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379) 03-08 18:45:18.576 4474 4474 I zygote : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) 03-08 18:45:18.576 4474 4474 I zygote : at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2421) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:779) 03-08 18:45:18.576 4474 4474 I zygote : at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:659) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatDelegateImpl.findViewById(int) (AppCompatDelegateImpl.java:479) 03-08 18:45:18.576 4474 4474 I zygote : at android.view.View androidx.appcompat.app.AppCompatActivity.findViewById(int) (AppCompatActivity.java:214) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.addTranslucentView(android.app.Activity, int) (StatusBarUtil.java:594) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageView(android.app.Activity, int, android.view.View) (StatusBarUtil.java:451) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTranslucentForImageViewInFragment(android.app.Activity, int, android.view.View) (StatusBarUtil.java:493) 03-08 18:45:18.576 4474 4474 I zygote : at void com.jaeger.library.StatusBarUtil.setTransparentForImageViewInFragment(android.app.Activity, android.view.View) (StatusBarUtil.java:481) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.initStatusBar() (MainActivity.kt:96) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.BaseActivity.onCreate(android.os.Bundle) (BaseActivity.kt:30) 03-08 18:45:18.576 4474 4474 I zygote : at void com.knew.feed.ui.activity.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:81) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7259) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7250) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215) 03-08 18:45:18.576 4474 4474 I zygote : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2928) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3053) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1772) 03-08 18:45:18.576 4474 4474 I zygote : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106) 03-08 18:45:18.576 4474 4474 I zygote : at void android.os.Looper.loop() (Looper.java:197) 03-08 18:45:18.576 4474 4474 I zygote : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022) 03-08 18:45:18.576 4474 4474 I zygote : at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2) 03-08 18:45:18.576 4474 4474 I zygote : at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515) 03-08 18:45:18.576 4474 4474 I zygote : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837)

    opened by Para123123 2
  • calculateStatusColor() 算法问题

    calculateStatusColor() 算法问题

    private static int calculateStatusColor(@ColorInt int color, int alpha) 这个方法的算法会不会有问题? 比如我直接在 colors.xml 资源文件中定义带有透明度的值,然后通过 resource.getColor() 获取到的值,与通过 calculateStatusColor() 方法获取到的值不一样。

    比如我定义了 <color name="color40">#66FF900</color> <color name="color60">#99FF900</color> <color name="color_original">#FF900</color> 通过 resource.getColor() 获取 R.color.color40 和 R.color.color60,然后分别与 calculateStatusColor(resource.getColor(R.color.color_original), 102) 和 calculateStatusColor(resource.getColor(R.color.color_original), 153) 去比较,发现对应不上。 (PS: 25540%=102, 25560%=153)

    opened by 374901588 0
Owner
Jaeger
Unfortunately, life is never that simple.
Jaeger
iTunes 11-style color matching code for Android

##About ColorArt is a library that uses an image to create a themed image/text display. It's a port of the idea found on the Panic Blog to work on And

Michael Evans 896 Jan 8, 2023
Bar Service Kotlin Client

A simple starter service client written in Kotlin against generated models (protos)A simple starter service client written in Kotlin against generated models (protos)

Logesh Dinakaran 0 Nov 9, 2021
POC Simulate Backend Biometric Authentication with AIDL (client app/server app)

poc-simulate-bio-auth-aidl POC Simulate Backend Biometric Authentication with AIDL (client app/server app) #How to use Install server app and run Inst

gundamD 0 Dec 30, 2021
Android Shared preference wrapper than encrypts the values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure.

Secure-preferences - Deprecated Please use EncryptedSharedPreferences from androidx.security in preferenced to secure-preference. (There are no active

Scott Alexander-Bown 1.5k Dec 24, 2022
Android library which makes it easy to handle the different obstacles while calling an API (Web Service) in Android App.

API Calling Flow API Calling Flow is a Android library which can help you to simplify handling different conditions while calling an API (Web Service)

Rohit Surwase 19 Nov 9, 2021
Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Shahid Iqbal 4 Nov 29, 2022
Android library for viewing, editing and sharing in app databases.

DbInspector DbInspector provides a simple way to view the contents of the in-app database for debugging purposes. There is no need to pull the databas

Infinum 924 Jan 4, 2023
Android Market In-app Billing Library

Update In-app Billing v2 API is deprecated and will be shut down in January 2015. This library was developed for v2 a long time ago. If your app is st

Robot Media 533 Nov 25, 2022
Routable, an in-app native URL router, for Android

Routable Routable is an in-app native URL router, for Android. Also available for iOS. Usage Set up your app's router and URLs: import com.usepropelle

Clay Allsopp 476 Nov 11, 2022
Android app that displays the logcat buffer in a system overlay window

Ghost Log Ghost Log is an Android application that displays the device logcat buffer in a system overlay window. NOTE: Device root (superuser) access

Jeff Gilfelt 378 Nov 15, 2022
Small Android library to help you incorporate MVP, Passive View and Presentation Model patterns in your app

DroidMVP About DroidMVP is a small Android library to help you incorporate the MVP pattern along with Passive View and Presentation Model (yes, those

Andrzej Chmielewski 225 Nov 29, 2022
Utility for detecting and notifying when your Android app goes background / becomes foreground

Foredroid Utility for detecting and notifying when your Android app goes background / becomes foreground. API-level 14+. Usage: Initialise Foreground

Steve Liles 151 Nov 29, 2022
Android app launcher module

Launcher Android launcher app Contains appDataSdk module which exposes app list data App showing applist with launcher (consumes appDataSdk module for

Vikas Mane 4 Jun 6, 2022
an android app to browse urls before open

link eye - kuesji koesnu - 8/8/2021 an android app to browse urls before open try to open a link, select link eye and choose always to start using

kuesji koesnu 25 Dec 31, 2022
A compose friendly way to deal with in app updates on android

In-App update compose A way to make in app updates in compose How to include in your project The library is available via MavenCentral: allprojects {

Stefan Wärting 25 Dec 31, 2022
An Android App which is capable of accessing system apps

Android_Project_Kotlin In this Project I am building an Android App which is capable of accessing system apps. This project is written in Kotlin and I

null 0 Dec 13, 2021
Simple-Claim-Form - Android App for creating a simple dynamic form with MVVM architecture

Simple-Claim-Form Android App for creating a simple dynamic form with MVVM archi

Shubham Gangpuri 1 Aug 14, 2022
Criminal-Intent - An android app used to record office crimes

What is Criminal Intent? CriminalIntent records the details of “office crimes” –

Mohammad Rashid 1 Feb 11, 2022
An app full of Constantly updating Google Pixel wallpapers

An app full of Stock Google Pixel wallpapers! Download: Found a Wallpaper not on the app? Submit and issue to the Google Pixel Wallpaper repository Sc

Jack Sam 118 Dec 25, 2022