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
Customizable Item Setting View Android

ItemSettingView Simple ItemSettingView and Custom Installation Add it in your root build.gradle at the end of repositories: allprojects { reposito

Andhika Yuana 15 Aug 19, 2022
Custom & highly configurable seek slider with sliding intervals, disabled state and every possible setting to tackle!

LabeledSeekSlider Custom & highly configurable seek slider with sliding intervals, disabled state and every possible setting to tackle! Minimum target

Edgar Žigis 78 Sep 27, 2022
WindView is an Android Library to show Weather's Wind & pressure Status

WindView WindView is an Android Library to show Weather's Wind & pressure Status Screenshot Demo demo.apk Setup Step 1: Add it as a Dependency in Your

Ahmad Nemati 209 Nov 18, 2022
Step by step,just use HorizontalStepView,VerticalStepView. step indicator,flow indicator,timeline,order process,express status

StepView Step by step. Step indicator. Flow indicator。 snapshot like this:HorizontalStepView like this also like this:VerticalStepView Yeah,I am not w

baoyachi. Aka Rust Hairy crabs 4.1k Dec 30, 2022
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.

FancyToast-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... ma

Shashank Singhal 1.2k Dec 26, 2022
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 350 Dec 9, 2022
Bootstrap style widgets for Android, with Glyph Icons

Android-Bootstrap Android Bootstrap is an Android library which provides custom views styled according to the Twitter Bootstrap Specification. This al

Bearded Hen 7.3k Jan 3, 2023
An Android custom view to display digits rendered as dots in a grid, with a style like a 1970s LED clock.

#DotMatrixView This is an Android library project providing a custom view that can display things on a grid of dots. When the displayed value changes,

Mark Roberts 48 Apr 21, 2022
SmileyRating is a simple rating bar for android. It displays animated smileys as rating icon.

Smiley Rating SmileyRating is a simple rating bar for android. It displays animated smileys as rating icon. Drawn completely using android canvas Insp

Sujith Niraikulathan 1.1k Dec 22, 2022
A swipe button for Android with a circular progress bar for async operations

ProSwipeButton A swipe button for Android with a circular progress bar for async operations Gradle dependencies { ... compile 'in.shadowfax:pr

Shadowfax Technologies 340 Nov 13, 2022
An Index Side Bar With Wave Effect

WaveSideBar You can use WaveSideBar in the contacts page of your application. Refer to AlexLiuSheng/AnimSideBar. Screenshot Include the WaveSideBar to

郭佳哲 1.3k Dec 12, 2022
🪄 It's a library that helps you customize your notification bar

NotificationBarCustom ?? It's a library that helps you customize your notification bar Demo Contrast(white) Contrast(black) Transparent Setup Add it i

박상선 8 Sep 7, 2022
MIUINativeNotifyIcon - Fix the native notification bar icon function abandoned by the MIUI development team

MIUI 原生通知图标 Fix the native notification bar icon function abandoned by the MIUI

Fankesyooni 189 Jan 4, 2023
A tiny window overlay to log app internal on top of your android app

DebugOverlay A logcat alike overlay to display log messages in your app as independent overlay. Typically in android you would log some app internals

Hannes Dorfmann 150 Nov 29, 2022
This a Ride User app in which in integrate almost every features of a Ride Share app.

My-Ride-App This a Ride app(User) in which I integrate almost every features of a Ride Share app. Here I use kotlin programing language, Google map SD

Khairul Islam 5 Apr 27, 2022
Useful library to use custom fonts in your android app

EasyFonts A simple and useful android library to use custom fonts in android apps without adding fonts into asset/resource folder.Also by using this l

Vijay Vankhede 419 Sep 9, 2022
Make a cool intro for your Android app.

AppIntro AppIntro is an Android Library that helps you build a cool carousel intro for your App. AppIntro has support for requesting permissions and h

AppIntro Team 10.3k Dec 30, 2022
StandOut lets you easily create floating windows in your Android app.

Coming Soon Meanwhile, checkout the demo video at http://www.youtube.com/watch?v=S3vHjxonOeg Join the conversation at http://forum.xda-developers.com/

Mark Wei 1.2k Dec 12, 2022
Floating Notification for Android app - Facebook ChatHeads Notification system

FloatingView (Application Demo on Play Store) DEPRECATED SEE FloatingView Floating View for Android app - Facebook ChatHeads Notification system This

Fernandez Anthony 530 Nov 17, 2022