tencent / qmui_android Goto Github PK
View Code? Open in Web Editor NEW提高 Android UI 开发效率的 UI 库
Home Page: http://qmuiteam.com/android
License: Other
提高 Android UI 开发效率的 UI 库
Home Page: http://qmuiteam.com/android
License: Other
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?]
在Demo中随便点击一个item打开页面,快速按返回键关闭页面,也就是在Fragment动画执行中快速关闭页面会导致上一个界面所有按钮无法点击,没有响应
import com.qmuiteam.qmuidemo.QDWidgetContainer;
required file QDWidgetContainer is missing
I have one question, when releasing the first revision?
想提取其中一部分UI很麻烦
Nexus 6
Android 5.0
2.3.0
1.x.x
希望在CoordinatorLayout中使用也能达到像toolbar那样的效果固定在屏幕顶端不动
想问下这个配置是什么?
尝试了一下这个style文件配置,运行程序直接崩溃...
<style name="AppTheme" parent="QMUI">
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
</style>
小米note
Android 5.0
2.3.0
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)
com.qmuiteam.qmuidemo.QDWidgetContainer类怎么没有呢?是不是没有提交上去?
Nexus 6
Android 5.0
2.3.0
1.x.x
TopBarLayout 无法设置图片背景
<declare-styleable name="QMUICommonListItemView"><attr format="enum" name="orientation">
<declare-styleable name="GridLayout"><attr name="orientation">
和v7-gridLayout 冲突
Nexus 6
Android 5.0
2.3.0
1.x.x
如题,开源社区的解决方案如SwipeBackLayout、and_swipeback等或多或少都存在一些问题,不知道有没有更好的方案
vivo
Android 5.1
2.2.3
1.0.0
QMUIPullRefreshLayout在刷新过程中,再次下拉的话,会导致箭头显示异常。
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有点差距,非常不灵活,折腾一下午,放弃了......
MI 5
Android 7.0
4.1
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)
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
Nexus 6
Android 5.0
2.3.0
1.x.x
可以新增一个改变标题颜色的方法吗,或者把getTitleView 设置为public
其实我就是想看看,小松在博客里写的"Android沉浸式状态栏必知必会"的具体实现
Nexus 6
Android 5.0
2.3.0
1.x.x
QMUICollapsingTopBarLayout需要监听Scrim的变化
QMUITopBar的标题要求根据Scrim的变化进行显示和隐藏,
能不能将QMUICollapsingTopBarLayout的ValueAnimator暴露出来,或者可以设置动画监听,让应用可以监听到Scrim的变化
Nexus 6
Android 5.0
2.3.0
1.x.x
Nexus 6
Android 5.0
2.3.0
1.x.x
Google Pixel
Android 7.1
2.3.1
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);
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.
小米Note2
Android 7.0
2.3.0
1.0
在QMUIAnimationListView页,连续点击删除,只剩4个item时再点删除会报OutOfBoundsException
开发让我用这套,可是我都下载不了 UI kIt,作为设计师怎么才能看到 UI Kit,没有的话,自己做好麻烦啊,效率太低了,希望可以提供 UI Kit 设计稿
QMUITopBar有的Toolbar不是都有吗?再加上Toolbar配合AppBarLayout还有折叠隐藏效果
框架非常好,流畅度高,而且挺好看的。
但是可插拔性不太好,各组件对于主题等依赖严重。个人建议可以稍微把组件耦合程度降低,便于修改源码以方便自定义,毕竟UI这个东西做得越死用处越小。
Nexus 6
Android 5.0
2.3.0
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>
Nexus 6P
Android 6.0
2.3.0
1.0.0
下拉刷新组件里面包listview 或 other view 下拉触摸灵敏度 要高于里面包 recyclerview
比如里面我放了个recyclerview添加了 一个header,我触摸item下滑 和 触摸header下滑,灵敏度明显不一样。
不知道你们有没有感觉
无法截图,只能靠感觉
例:
public void setTabAlpha(float alpha){
int paintAlpha = (int)(alpha*255) ;
mIconPaintSelect.setAlpha(paintAlpha);
mIconPaintNormal.setAlpha(255-paintAlpha);
mTextPaintSelect.setAlpha(paintAlpha);
mTextPaintNormal.setAlpha(255-paintAlpha);
invalidate();
}
效果类似微信主页的导航栏
主题直接继承:QMUI.Compat.NoActionBar,发现qmui_config_color_blue会直接覆盖掉colorPrimaryDark
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"
/>
毕竟不是每个都需要的。另设置状态栏黑色字体图标setStatusBarLightMode,建议返回是否设置成功。QMUIEmptyView应该增加图片,loading最好可以自定义
Nexus 5
Android 5.0
2.2.3
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)
mi 6
Android 7.1.1
2.3.3
1.0
mi6 android7.1.1 状态栏黑色无效,因为miui9改回原生黑白切换方案了
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.