小编Lon*_*ngi的帖子

如何在新的NavigationView中创建一个简单的分隔符?

Google NavigationView在设计支持库版本22.2.0中引入了该版本,您可以使用菜单资源轻松创建抽屉.

如何在两个项目之间创建简单的分隔线?对项目进行分组不起作用.创建子项目部分会创建一个分隔线,但它需要一个我不想要的标题.

任何帮助,将不胜感激.

android android-support-library navigation-drawer android-design-library navigationview

149
推荐指数
8
解决办法
9万
查看次数

向下滚动会触发刷新而不是显示工具栏

我开始使用新的CoordinatorLayout,我遇到了这个问题:

演示

正如您所看到的,当我尝试向下滚动工具栏部分可见时,并且recylcerview位于顶部位置时,它会触发刷新事件而不是拉下工具栏.用户必须再次向上滚动以显示它.

布局XML看起来像这样:activity_main.xml:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

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

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                style="@style/customActionBar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="?attr/colorPrimary"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"/>

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

        <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

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

    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/white"
        app:headerLayout="@layout/navigation_drawer_header"
        app:menu="@menu/navigation_items" />

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

fragment_main.xml:

<FrameLayout 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">

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe_refresh"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:padding="8dp"
            android:scrollbars="none" />

    </android.support.v4.widget.SwipeRefreshLayout>

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

Ther SwipeRefreshLayout在FrameLayout中,因为我的应用程序中的片段中有更多元素.

任何帮助,将不胜感激.

android swiperefreshlayout android-coordinatorlayout

23
推荐指数
2
解决办法
6975
查看次数

JaCoCo不适用于Robolectric测试

我想在我的android项目中生成我的JUnit测试的代码覆盖率报告,所以我添加了JaCoCo gradle插件.这是我的项目级build.gradle文件:

apply plugin: 'jacoco'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-beta6'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

subprojects { prj ->
    apply plugin: 'jacoco'

    jacoco {
        toolVersion '0.7.6.201602180812'
    }

    task jacocoReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {
        group = 'Reporting'
        description = 'Generate Jacoco coverage reports after running tests.'

        reports {
            xml {
                enabled = true
                destination "${prj.buildDir}/reports/jacoco/jacoco.xml"
            } …
Run Code Online (Sandbox Code Playgroud)

android code-coverage robolectric jacoco

20
推荐指数
2
解决办法
4271
查看次数

使用Dialog Activity进行共享元素转换

我把一个非常简单的应用程序放在一起,在使用Dialog主题(github上的源代码)启动活动时使用共享元素转换.

我得到了以下结果:

示例应用

如您所见,转换/动画有2个问题:

  1. 动画仅在对话框活动区域中可见,因此它会剪辑并看起来很难看.
  2. 当我在活动之外点击以返回时,没有过渡/动画.

我该如何解决这些问题?任何帮助,将不胜感激.

编辑:在Quanturium的回答之后,我做了以下事情来使它工作:

使用以下主题而不是Dialog主题:

<style name="AppTheme.Transparent" parent="AppTheme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

使用CardView作为Dialog外观和圆角和阴影的背景.

调用finishAfterTransition(); 当用户点击CardView外部时.

现在它看起来像这个(代码),CardView需要精炼以更好地匹配Dialog,但它至少工作:

工作的

android android-5.0-lollipop shared-element-transition

17
推荐指数
1
解决办法
5021
查看次数

当没有任何改变时不调用 TransitionListener 回调

我正在TransitionManager使用以下代码使用和 约束集在场景之间制作动画。

val transition = AutoTransition()
transition.addListener(object : Transition.TransitionListener {
    override fun onTransitionEnd(transition: Transition) {
        // do something
    }
})

val constraintSet = ConstraintSet()
constraintSet.clone(this, R.layout.frame_loading)
TransitionManager.beginDelayedTransition(rootLayout, transition)
constraintSet.applyTo(rootLayout)
Run Code Online (Sandbox Code Playgroud)

当过渡结束时我想做一些事情,因此回调。然而,有些情况下,有视图需要改变,也有视图没有需要改变。当没有任何变化时,就没有转换,也没有调用回调(如这里所解释的),这是一个问题,因为应该在转换结束时运行的操作没有运行。有没有解决这个问题的好方法,而不是像移动不可见视图或其他方式来强制预绘制事件(触发转换)的一些黑客?或者有没有办法检查是否需要转换?

android android-animation android-transitions android-constraintlayout

7
推荐指数
0
解决办法
1167
查看次数

travis-ci build keeps failing with ShellCommandUnresponsiveException

I'm trying to get travis-ci to work with my android application. If I only execute assembleDebug it works fine. But I want to run tests too and generate code coverage. This is the config I have right now:

language: android
android:
  components:
    # Uncomment the lines below if you want to
    # use the latest revision of Android SDK Tools
    - platform-tools
    - tools

    # The BuildTools version used by your project
    - build-tools-23.0.1

    # The SDK version used to …
Run Code Online (Sandbox Code Playgroud)

android travis-ci

6
推荐指数
1
解决办法
3459
查看次数

Android工作室在电脑关机不当后坏了

我关闭了我的笔记本电脑(运行android工作室)来休眠它只是为了在我到家后发现它完全关闭.而现在Android Studio完全崩溃了.我发现一个java文件已损坏,这不是什么大不了的事,我可以重写它.但是现在我在一个项目中得到了"无法解决符号'xxx'"的问题.我收到所有导入的错误,甚至是原生的Android/Java库.它为我的所有项目执行此操作,简单的gradls同步或项目重建没有做任何事情.我对如何解决这个问题毫无头绪. http://puu.sh/c3eMs/30fcdd99a7.png

现在看截图,workspace.xml(在关闭时打开的项目)也被破坏了,不幸的是我没有备份它.由于某些原因,甚至github存储库都没有它.

任何帮助将非常适合让android sudio再次工作.重新安装它将是我的最后一招.

android android-studio

4
推荐指数
1
解决办法
6738
查看次数

如何执行复杂的sql语句并在数组中获取结果?

我想使用SQLite.swift执行一个相当复杂的SQL语句,并将结果最好放在一个数组中,以用作tableview的数据源.声明如下:

SELECT defindex, AVG(price) FROM prices WHERE quality = 5 AND price_index != 0 GROUP BY defindex ORDER BY AVG(price) DESC
Run Code Online (Sandbox Code Playgroud)

我正在研究SQLite.swift文档,以了解如何正确地完成它,但我找不到办法.我可以在数据库上调用prepare并迭代Statement对象,但这不是最佳的性能.

任何帮助,将不胜感激.

sqlite swift sqlite.swift

0
推荐指数
1
解决办法
1989
查看次数