小编KeL*_*yue的帖子

滚动时背景ListView变为黑色

我创建了一个特定的List,它存在于以下元素之外,用于创建一个可滚动的列表,每行包含左侧的Image和右侧的一些文本:

首先是"根"布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:background="#C8C8C8"
    >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"
        android:divider="#C8C8C8"
        android:background="#C8C8C8"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

然后在ListView中我放置以下"行"项:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/bg_row"
>
    <ImageView
        android:layout_width="wrap_content"
        android:paddingLeft="10px"
        android:paddingRight="15px"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:layout_height="wrap_content"
        android:src="@drawable/bg_image"
    />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="5px"
        android:paddingBottom="5px"
        android:textSize="16sp"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:maxHeight="50px"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

只要屏幕静态显示(没有移动)就会正确显示,但是当我开始滚动列表时,行项目的背景(代码中显示的"图标")将是正确显示,但"根"布局的背景将变成完全黑色...当滚动停止时,背景将会,大多数时候,恢复它的颜色...当我测试时我也在TextView该根元素中添加了一个具有相同的背景,当滚动列表时,这个将保留它的颜色...任何想法为什么会发生这种情况,以及如何解决这个问题?

android listview

423
推荐指数
7
解决办法
9万
查看次数

透明的自适应图标背景

所以我已经在这个应用程序上工作了几个星期,我开始构建图标.我有Android Studio 3.0.1,他们似乎改变了Image Assets的制作方式,现在他们有了自适应图标.我为我的应用制作了一个带透明背景的图标.以前,我只是将形状更改为"无",并且不会生成背景.但现在这不是一个选择,除非我去"遗产",这是无用的.背景颜色似乎不支持透明度.即使在ic_launcher.xml我将背景设置为透明色,但图标仍然显示为黑色背景.

这是我的 ic_lancher.xml

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/transparent"/>
    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
Run Code Online (Sandbox Code Playgroud)

和ic_launcher_round.xml是一样的.这@color/transparent是一个:

<color name="transparent">#00000000</color>
Run Code Online (Sandbox Code Playgroud)

android

14
推荐指数
2
解决办法
8149
查看次数

如何获取状态栏背景颜色以显示colorPrimaryDark

我有一个布局,用于更新状态栏的背景颜色colorPrimaryDark.

当布局的根布局为a时CoordinatorLayout,这很有用,但当我将其切换到LinearLayout状态栏时,背景不再更新.

布局源和屏幕截图粘贴在下面.还列出了正常工作的布局示例.

谢谢!

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".churches.ChurchesActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>
    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/coordinatorLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <FrameLayout
            android:id="@+id/contentFrame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </android.support.design.widget.CoordinatorLayout>

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

styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

<style name="AppTheme.PopupOverlay" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-linearlayout android-notification-bar android-coordinatorlayout

12
推荐指数
1
解决办法
5356
查看次数

使用Spring MockMVC时如何从JSON响应中提取值

我有一个接受POST请求的端点。我想从JSON响应中获取新创建的实体的ID。

下面是我尝试执行的代码段。

mockMvc.perform(post("/api/tracker/jobs/work")
        .contentType(TestUtil.APPLICATION_JSON_UTF8)
        .content(TestUtil.convertObjectToJsonBytes(workRequest)))
        .andExpect(status().isCreated());
Run Code Online (Sandbox Code Playgroud)

如果获得该ID,我将在数据库中查询新创建的实体,并执行以下一些断言:

Work work = work service.findWorkById(id);

assertThat(work.getJobItem().getJobItemName()).isEqualTo(workRequest.getJobItem().getJobItemName());
assertThat(work.getJobItem().getQuantities()).hasSize(workRequest.getQuantities().size());
assertThat(work.getJobItem().getQuantityPools()).hasSize(workRequest.getQuantities().size());
Run Code Online (Sandbox Code Playgroud)

java spring integration-testing spring-boot mockmvc

9
推荐指数
2
解决办法
6835
查看次数

如何在Kotlin获得7天前到今天的约会?

我想从7天前到今天在Kotlin得到约会.有什么建议?这就是我到目前为止所拥有的

val date = Calendar.getInstance()

val yesterday = Calendar.getInstance()

yesterday.add(Calendar.DATE,-1)

var todayOrYesterday:String?

var todayDate = date.time

while (todayDate > yesterday.time){

    val formatter = SimpleDateFormat("EEEE, d MMMM yyyy")

    val format = formatter.format(todayDate)

    println(format)

    todayOrYesterday = if (DateUtils.isToday(date.timeInMillis)) {
            "Today"
    }else "Yesterday"

    date.add(Calendar.DATE,-7)
}
Run Code Online (Sandbox Code Playgroud)

android kotlin

8
推荐指数
2
解决办法
1万
查看次数

android 7.1.1(牛轧糖)应用程序待机和网络

当应用程序处于后台时,我需要发出网络呼叫。顺序如下。该应用程序接收GCM调用,向BE发出API调用,以获取更多数据,然后显示通知。完美收到了GCM调用,但是API网络调用由于超时失败而失败,并显示以下内容stack-trace

java.net.SocketTimeoutException: timeout
                                                    at okio.Okio$3.newTimeoutException(Okio.java:207)
                                                    at okio.AsyncTimeout.exit(AsyncTimeout.java:250)
                                                    at okio.AsyncTimeout$2.read(AsyncTimeout.java:217)
                                                    at okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)
                                                    at okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)
                                                    at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)
                                                    at com.squareup.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186)
                                                    at com.squareup.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127)
                                                    at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:737)
                                                    at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:87)
                                                    at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:722)
                                                    at com.nuro.newcoms.NuroCommunicationService$21.intercept(NuroCommunicationService.java:1986)
                                                    at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:695)
                                                    at com.nuro.encryption.NuroSSLContext$1.intercept(NuroSSLContext.java:94)
                                                    at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:695)
                                                    at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:576)
                                                    at com.squareup.okhttp.Call.getResponse(Call.java:287)
                                                    at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)
                                                    at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)
                                                    at com.squareup.okhttp.Call.execute(Call.java:80)
                                                    at retrofit.client.OkClient.execute(OkClient.java:53)
                                                    at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326)
                                                    at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
                                                    at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
                                                    at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
                                                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                    at java.lang.Thread.run(Thread.java:761)`
Run Code Online (Sandbox Code Playgroud)

我正在使用okhttpver 2.7.5retrofit 1.9.0

该应用程序处于后台,但设备未处于休眠状态,屏幕处于打开状态,甚至正在充电。因此,这不可能是DOZE问题。

发生在WiFi3/4G

pre-nougat 设备没有这个问题。

UPD 在电池设置中将应用程序选择为“未优化”时,所有功能都像超级按钮一样。

networking android android-appstandby android-7.1-nougat

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

启动器图标已更改,但在最近的应用程序中仍然是我看到的默认图标

我更改了文件 - >新建 - >图像资源中的启动器图标,图标也发生了变化.

当我点击最近的应用程序图标时,它会显示默认图标,其中正确的图标显示在主图标列表中.

验证了Android清单,其中应用程序标记包含图标标记和相应的mipmap.

这有什么不对?我正在使用xiaomi note 4 mobile.请帮忙.

android android-icons android-launcher

7
推荐指数
2
解决办法
2470
查看次数

WebView goback() 方法不起作用

我的应用程序有一个要求,我需要在 webview 中渲染多个网页并提供方法goback()

但不幸的是,goback()当我们加载 url(来自多个页面的 url 之一)但不退出(网页不可用)时,该方法不起作用,然后我们尝试调用goBack()

android

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

android.support.constraint.ConstraintLayout 不能转换为 android.support.v4.widget.DrawerLayout

合并两个 androidStudio 项目后,我遇到了这个错误,应用程序初始化为飞溅,并且显示和运行良好。然后当尝试访问 activity_main.xml 时,应用程序崩溃。错误是:

FATAL EXCEPTION: main
              Process: eu.siacs.conversations, PID: 16604
              java.lang.RuntimeException: Unable to start activity ComponentInfo{eu.siacs.conversations/eu.siacs.conversations.ui.MainActivity}: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.support.v4.widget.DrawerLayout
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2726)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2787)
                  at android.app.ActivityThread.-wrap12(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1504)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6247)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
               Caused by: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.support.v4.widget.DrawerLayout
                  at eu.siacs.conversations.ui.MainActivity.onCreate(MainActivity.java:96)
                  at android.app.Activity.performCreate(Activity.java:6757)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2787) 
                  at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1504) 
                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                  at android.os.Looper.loop(Looper.java:154) 
                  at android.app.ActivityThread.main(ActivityThread.java:6247) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872) …
Run Code Online (Sandbox Code Playgroud)

java android drawerlayout android-constraintlayout

2
推荐指数
1
解决办法
8458
查看次数

微调器宽度与微调器项目宽度不匹配

当我使用特定的宽度400dp作为DropDown项目的宽度时,spinner它正确匹配。

但是,当我match_parent用于spinnercustom_spinner_item宽度时,它不匹配吗?图片可能会给您一个想法在此处输入图片说明 我的代码有什么问题?我想要使​​用相同的宽度match_parent吗?

这是我的习惯 custom_spinner_item

<?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="wrap_content"
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView"
        android:layout_width="400dp"            // width
        android:layout_height="30dp"
        android:textSize="18dp"
        android:text="wallets"
        android:layout_marginLeft="5dp"
        android:paddingLeft="5dp"
        android:background="#FFFFFF"
        android:textColor="#282727"/>
    <View
        android:layout_width="400dp"
        android:layout_height="1dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:background="#8e8c8c"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的片段

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/appbackground"
    android:paddingRight="5dp"
    android:paddingLeft="5dp"
    android:paddingTop="5dp">   

    // some code

   <LinearLayout
        android:id="@+id/dropDownLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:background="@drawable/zxing_roundedbgwhite"
        android:orientation="vertical">
        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="400dp"        // width
            android:layout_height="35dp"
            android:dropDownWidth="400dp"       // width
            android:spinnerMode="dropdown" />
    </LinearLayout>

    // …
Run Code Online (Sandbox Code Playgroud)

android spinner android-spinner

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