Giter VIP home page Giter VIP logo

qmui_android's Introduction

Banner

QMUI_Android

QMUI Android 的设计目的是用于辅助快速搭建一个具备基本设计还原效果的 Android 项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。

QMUI Team Name License

功能特性

全局 UI 配置

只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。

丰富的 UI 控件

提供丰富常用的 UI 控件,例如 BottomSheet、Tab、圆角 ImageView、下拉刷新等,使用方便灵活,并且支持自定义控件的样式。

高效的工具方法

提供高效的工具方法,包括设备信息、屏幕信息、键盘管理、状态栏管理等,可以解决各种常见场景并大幅度提升开发效率。

支持 Android 版本

QMUI Android 支持 API Level 21+。

使用方法

可以在工程中的 qmuidemo 项目中查看各组件的使用。

隐私与安全

  1. 框架会调用 android.os.Build 下的字段读取 brand、model 等信息,用于区分不同的设备。
  2. 框架会尝试读取系统设置获取是否是全面屏手势

qmui_android's People

Contributors

1109993488 avatar cgspine avatar chanthuang avatar coder-asura avatar endsmile avatar kayo5994 avatar leondevlifelog avatar libreui avatar loverain1997 avatar macoscoder avatar quincyjiang avatar shaoshuai904 avatar sysking1024 avatar wangrunxiang avatar wpq2014 avatar xshengcn avatar zanderzhan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmui_android's Issues

在CoordinatorLayout中怎么把图片沉浸式上去

运行环境

  • 设备型号:如:Nexus 6
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.x.x

具体问题描述

问题截图

这是我的布局,我对着demo写的,发现沉浸不了,是不是我什么地方写错了

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:fitsSystemWindows="true">

<com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout
    android:id="@+id/collapsing_topbar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_scrollFlags="scroll|exitUntilCollapsed"
    app:qmui_contentScrim="?attr/qmui_config_color_blue"
    app:qmui_statusBarScrim="?attr/qmui_config_color_blue"
    app:qmui_titleEnabled="false">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@mipmap/bg_my"
        app:qmui_layout_collapseMode="parallax"
        app:qmui_layout_collapseParallaxMultiplier="0.7"
        android:fitsSystemWindows="false"
        />

    <LinearLayout 。。。>
    <com.qmuiteam.qmui.widget.QMUITopBar
        android:id="@+id/qmui_topbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/qmui_topbar_height"
        app:qmui_layout_collapseMode="pin"
        app:qmui_topbar_bg_color="@color/qmui_config_color_transparent"
        app:qmui_topbar_need_separator="false"
        android:fitsSystemWindows="true"/>

</com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout>
</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycle"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

</android.support.design.widget.CoordinatorLayout>

to check APIs compiled with API25

运行环境

Android Studio的軟體設定
03

Module build.gradle
01

Project build.gradle
02

具体问题描述

2017-09-07_163101

請教一下, 以上2個問題發生的原因是什麼? 我應該如何去解決它們?

Android Studio3.0下找不到资源文件,希望能尽快处理

compile('com.qmuiteam:qmui:1.0.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
一把这句话复制进去gradle sync后报资源文件找不到,什么东西都调用不了。我看你的gradle版本应该是androidstudio2.x的版本吧,以下错误是3.0beta2的版本上报的错,也是目前最新版本的androidstudio,我认为应该只要是3.0的版本都会有这个问题
Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]
/Users/gxxing/.gradle/caches/transforms-1/files-1.1/qmui-1.0.0.aar/75118861afd1d7ab436aee5f56ec7a00/res/values/values.xml
Error:(628, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(628, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(632, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(632, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(636, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(636, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(641, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(641, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(645, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(645, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:(649, 5) style attribute '@android:attr/windowEnterAnimation' not found
Error:(649, 5) style attribute '@android:attr/windowExitAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2749 style attribute '@android:attr/windowEnterAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2753 style attribute '@android:attr/windowEnterAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2757 style attribute '@android:attr/windowEnterAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2762 style attribute '@android:attr/windowEnterAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2766 style attribute '@android:attr/windowEnterAnimation' not found
Error:/Users/gxxing/Documents/zuoye/shunfengche/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:2770 style attribute '@android:attr/windowEnterAnimation' not found
Error:failed linking references
Error:java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.AaptException: AAPT2 link failed:
Error:com.android.builder.internal.aapt.AaptException: AAPT2 link failed:
Error:Execution failed for task ':app:processDebugResources'.

Failed to execute aapt
Information:BUILD FAILED in 3s
Information:22 errors
Information:0 warnings
Information:0 warnings

2. 配置主题

  1. 配置主题
    把项目的 theme 的 parent 指向 QMUI.Compat 或 QMUI,至此,QMUI 可以正常工作。

想问下这个配置是什么?

尝试了一下这个style文件配置,运行程序直接崩溃...

<style name="AppTheme" parent="QMUI">

@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
</style>

是否会有QMUIRecycleView系列

使用建议

  • QMUI系列有好几个ListView系列如:QMUIAnimationListView、QMUICommonListItemView、QMUIGroupListView,是否会有QMUIRecycleView呢。

白底黑字疑问

具体问题描述

单独使用QMUIStatusBarHelper实现状态栏白底黑字,发现颜色不太一致,是不是缺了啥?

问题截图

image

异常日志(堆栈)

编译时冲突

运行环境

AS2.3编译时冲突

具体问题描述

Error:Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31
is also present at [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:25:5-27:34 to override.

问题截图

异常日志(堆栈)

demo apk install error

Failed to install qmui_1.0.0.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl821929968.tmp/base.apk: META-INF/CERT.SF indicates /data/app/vmdl821929968.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?]

2. 配置主题

  1. 配置主题
    把项目的 theme 的 parent 指向 QMUI.Compat 或 QMUI,至此,QMUI 可以正常工作。

add&replace

具体问题描述

add
01

replace
02

我有個疑問, 如果將add 修改成replace, 會是比較好的選擇嗎? 為什麼?

QMUITopBar的setCenterView无效?

运行环境

  • 设备型号:Google Pixel
  • 设备系统版本:Android 7.1
  • Gradle 版本:2.3.1
  • QMUI Android 版本:1.0.2

具体问题描述

看了下QMUITopBar的源码,默认CenterView是一个TextView,并且支持setCenterView来设置自定义的View,但是我试了下如果将CenterView设置为一个button可以,但是设置为TextView却没有生效,Topbar中间部分没有显示任何东西。不知为何,能帮忙看下吗?

代码片段

下面是一段测试代码,测试将CenterView设置为一个TextView,但是没能生效

TextView textView = new TextView(this);
textView.setGravity(Gravity.CENTER);
textView.setText("测试");
mTopBar.setCenterView(textView);

主题会直接覆盖colorPrimaryDark?

运行环境

  • 设备型号:nexus 5x
  • 设备系统版本:7.0
  • Gradle 版本:4.1
  • QMUI Android 版本:1.0.1

具体问题描述

主题直接继承:QMUI.Compat.NoActionBar,发现qmui_config_color_blue会直接覆盖掉colorPrimaryDark

问题截图

异常日志(堆栈)

QMUITopBar能否动态改变标题颜色

运行环境

  • 设备型号:如:Nexus 6
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.x.x

具体问题描述

问题截图

异常日志(堆栈)

可以新增一个改变标题颜色的方法吗,或者把getTitleView 设置为public

無法關閉App

具体问题描述

2017-09-04_175519

請教一下, 紅框內的程式碼 是用來產生主畫面的, 如果在主畫面按下手機的返回鍵, 會關閉此App

我剛剛把紅框內的程式碼先刪掉, 然後運行, 顯示的是白屏 是可以理解的, 因為紅框內的代碼不在
但是此時 我反覆按下手機的返回鍵, 卻無法結束此App, 是什麼原因?

miui9状态栏黑色字体无效

运行环境

  • 设备型号:如:mi 6
  • 设备系统版本:如 Android 7.1.1
  • Gradle 版本:如 2.3.3
  • QMUI Android 版本:1.0

具体问题描述

mi6 android7.1.1 状态栏黑色无效,因为miui9改回原生黑白切换方案了

问题截图

异常日志(堆栈)

Demo中fragment页面切换动画问题

运行环境

  • 设备型号:小米6
  • 设备系统版本:Android 7.1.1
  • Gradle 版本:2.3.3
  • QMUI Android 版本:1.0.3

具体问题描述

在Demo中随便点击一个item打开页面,快速按返回键关闭页面,也就是在Fragment动画执行中快速关闭页面会导致上一个界面所有按钮无法点击,没有响应

问题截图

异常日志(堆栈)

關於 LauncherActivity

具体问题描述

2017-09-04_074507

這個Activity 的作用是什麼? 只是單純地跳轉到其它的Activity, 還是有別的用意?

build出错

运行环境

  • Gradle 版本:3.0.0-beta2
  • QMUI Android 版本:1.0.0

具体问题描述

build出错

问题截图

image

异常日志(堆栈)

下拉刷新对recyclerview存在一定问题

运行环境

  • 设备型号:如:Nexus 6P
  • 设备系统版本:如 Android 6.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.0.0

具体问题描述

下拉刷新组件里面包listview 或 other view 下拉触摸灵敏度 要高于里面包 recyclerview
比如里面我放了个recyclerview添加了 一个header,我触摸item下滑 和 触摸header下滑,灵敏度明显不一样。
不知道你们有没有感觉

问题截图

无法截图,只能靠感觉

异常日志(堆栈)

Demo跑不起来

运行环境

  • 设备型号:如:小米note
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.0.0

具体问题描述

问题截图

异常日志(堆栈)

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:145)
at com.qmuiteam.qmuidemo.base.BaseFragmentActivity.onCreate(BaseFragmentActivity.java:24)
at com.qmuiteam.qmuidemo.QDMainActivity.onCreate(QDMainActivity.java:19)
at android.app.Activity.performCreate(Activity.java:6112)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2357)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 
at android.app.ActivityThread.access$800(ActivityThread.java:160) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5372)

QMUICollapsingTopBarLayout需要监听Scrim的变化

运行环境

  • 设备型号:如:Nexus 6
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.x.x

具体问题描述

QMUICollapsingTopBarLayout需要监听Scrim的变化

QMUITopBar的标题要求根据Scrim的变化进行显示和隐藏,
能不能将QMUICollapsingTopBarLayout的ValueAnimator暴露出来,或者可以设置动画监听,让应用可以监听到Scrim的变化

问题截图

异常日志(堆栈)

Lab 下QMUIAnimationListView 删除item OutOfBoundsException 闪退

运行环境

  • 设备型号:如:小米Note2
  • 设备系统版本:Android 7.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.0

具体问题描述

在QMUIAnimationListView页,连续点击删除,只剩4个item时再点删除会报OutOfBoundsException

问题截图

异常日志(堆栈)

QMUICollapsingTopBarLayout 小米手机问题

运行环境

  • 设备型号:如:红米2
  • 设备系统版本: Android 4.4.4,MIUI 9
  • QMUI Android 版本:1.0.3

具体问题描述

在小米手机上(4.4.4) Demo 程序中的QMUICollapsingTopBarLayout会出现白色的情况,QMUIViewPager的文字挤到了状态栏上面;如下图:

问题截图

image
image

UI Kit 有没有

开发让我用这套,可是我都下载不了 UI kIt,作为设计师怎么才能看到 UI Kit,没有的话,自己做好麻烦啊,效率太低了,希望可以提供 UI Kit 设计稿

无法给TopLayout 设置图片背景

运行环境

  • 设备型号:如:Nexus 6
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.3.0
  • QMUI Android 版本:1.x.x

具体问题描述

问题截图

异常日志(堆栈)

TopBarLayout 无法设置图片背景

QMUIPullRefreshLayout刷新箭头异常

运行环境

  • 设备型号:如:vivo
  • 设备系统版本:如 Android 5.1
  • Gradle 版本:如 2.2.3
  • QMUI Android 版本:1.0.0

具体问题描述

QMUIPullRefreshLayout在刷新过程中,再次下拉的话,会导致箭头显示异常。

问题截图

异常日志(堆栈)

滑动返回有好的解决方案么

如题,开源社区的解决方案如SwipeBackLayout、and_swipeback等或多或少都存在一些问题,不知道有没有更好的方案

QMUIRadiusImageView 使用 glide时第一次不显示

运行环境

  • 设备型号:nexus 5x、5
  • 设备系统版本:Android 7.1
  • Gradle 版本:4.1
  • QMUI Android 版本:1.0.2

具体问题描述

QMUIRadiusImageView 使用 glide时第一次不显示,表现为第一次运行时
xml:
<com.qmuiteam.qmui.widget.QMUIRadiusImageView
android:layout_width="96dp"
android:id="@+id/iv_head"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@mipmap/ic_default_head"
app:qmui_border_width="0dp"
/>

问题截图

异常日志(堆栈)

Theme中修改QMUIRoundButton属性没有生效

运行环境

  • 设备型号:如:小米 5
  • 设备系统版本:如 Android 7.0
  • Gradle 版本:如 2.2.0
  • QMUI Android 版本:1.0.3

具体问题描述

你好,我基于demo在style.xml theme中修改qmui_round_btn_text_color属性,期望改变按钮的默认颜色,我修改了s_btn_blue_text.xml如下:





但是没起作用,运行结果字体颜色并没有发生改变。还是 QMUI.Compat.NoActionBar 中的样式。

问题截图

20170922134214

异常日志(堆栈)

java.lang.UnsupportedOperationException

运行环境

  • 设备型号:荣耀 CHM-CL00
  • 设备系统版本:Android 6.0.1,level 23
  • QMUI Android 版本:1.0.3

异常日志(堆栈)

java.lang.UnsupportedOperationException
Failed to resolve attribute at index 13: TypedValue{t=0x2/d=0x7f010065 a=3}
com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder.create(QMUIDialogBuilder.java:234)

真实使用情况与demo有点差距,非常不灵活,折腾一下午,放弃了......

QMUIGroupListView异常

运行环境

  • 设备型号:如:MI 5
  • 设备系统版本:如 Android 7.0
  • Gradle 版本:如 4.1
  • QMUI Android 版本:1.0.2

具体问题描述

在使用QMUIGroupListView的时候出现异常
没添加item时正常,一旦newsetion就报错

问题截图

使用代码
布局

异常日志(堆栈)

FATAL EXCEPTION: main
Process: com.qg.musicmaven, PID: 15863
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.qg.musicmaven/com.qg.musicmaven.ui.SettingsActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2785)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1532)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6315)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:652)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:742)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:810)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
at android.view.LayoutInflater.inflate(LayoutInflater.java:496)
at android.view.LayoutInflater.inflate(LayoutInflater.java:430)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView.init(QMUIGroupListSectionHeaderFooterView.java:58)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView.(QMUIGroupListSectionHeaderFooterView.java:37)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView.(QMUIGroupListSectionHeaderFooterView.java:27)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView.(QMUIGroupListSectionHeaderFooterView.java:41)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section.createSectionHeader(QMUIGroupListView.java:383)
at com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section.setTitle(QMUIGroupListView.java:268)
at com.qg.musicmaven.ui.SettingsActivity.initGroupListView(SettingsActivity.kt:46)
at com.qg.musicmaven.ui.SettingsActivity.initView(SettingsActivity.kt:40)
at com.qg.musicmaven.ui.SettingsActivity.onCreate(SettingsActivity.kt:34)
at android.app.Activity.performCreate(Activity.java:6847)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2785)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1532)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6315)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 5: TypedValue{t=0x2/d=0x7f040156 a=-1}
at android.content.res.TypedArray.getColorStateList(TypedArray.java:530)
at android.widget.TextView.(TextView.java:1076)
at android.widget.TextView.(TextView.java:704)

提一点小小的个人建议

框架非常好,流畅度高,而且挺好看的。

但是可插拔性不太好,各组件对于主题等依赖严重。个人建议可以稍微把组件耦合程度降低,便于修改源码以方便自定义,毕竟UI这个东西做得越死用处越小。

把apptheme继承制qmui之后提示java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

运行环境

  • 设备型号:如:Nexus 5
  • 设备系统版本:如 Android 5.0
  • Gradle 版本:如 2.2.3
  • QMUI Android 版本:1.0.0

具体问题描述

把apptheme继承制qmui之后出错,改怎么处理

问题截图

异常日志(堆栈)

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tanxin.qmdemo, PID: 3552
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tanxin.qmdemo/com.tanxin.qmdemo.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.tanxin.qmdemo.MainActivity.onCreate(MainActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

values属性冲突

<declare-styleable name="QMUICommonListItemView"><attr format="enum" name="orientation">
<declare-styleable name="GridLayout"><attr name="orientation">

和v7-gridLayout 冲突

建议分离成多个库

毕竟不是每个都需要的。另设置状态栏黑色字体图标setStatusBarLightMode,建议返回是否设置成功。QMUIEmptyView应该增加图片,loading最好可以自定义

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.