小编Gia*_*chi的帖子

底部导航栏与 Jetpack Compose 中的屏幕内容重叠

我有一个在 aBottomNavBar中被调用bottomBar的 a Scaffold
每个屏幕都包含一个LazyColumn显示一堆图像的。
出于某种原因,当我完成滚动时,BottomNavBar项目列表的下部重叠。
我怎样才能解决这个问题?

在此处输入图片说明

这里是MainActivity的设置内容

SetContent{
    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text(text = "tartufozon") },
                actions = {
                    IconButton(onClick = { Timber.d("Mail clicked") }) {
                        Icon(Icons.Default.Email, contentDescription = null)
                    }
                }
            )
        },
        bottomBar = {
            BottomNavBar(navController = navController)
        }
    ) {
    BottomNavScreensController(navController = navController)
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-jetpack android-jetpack-compose

19
推荐指数
4
解决办法
1620
查看次数

Jetpack Compose 失败并显示 NoClassDefFoundError: 无法解析:Landroidx/compose/runtime/MutableStateKt;

我构建了一个应用程序来使用 Jetpack compose。在 alpha-11 之前一切都工作正常,但由于我尝试将其更新到 alpha-12(甚至 beta-1),该应用程序在运行时失败并出现错误NoClassDefFoundError: Failed resolution of: Landroidx/compose/runtime/MutableStateKt;

另外说:

Didn't find class "androidx.compose.runtime.MutableStateKt" on path: DexPathList[[zip file "/data/app/com.example.APPNAME-TeAYAMsRf0C9pLQOdWShCA==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.APPNAME-TeAYAMsRf0C9pLQOdWShCA==/lib/x86, /system/lib, /system/product/lib]]

该错误是由使用MutableState和引起的mutableStateOf,它们都是从 androidx.compose.runtime 导入的,但我在任何地方都找不到任何信息......

这里是依赖块依赖块

android kotlin android-jetpack-compose

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

如何使用 MockWebServer 测试 Retrofit API 调用

我有一个以非常基本的方式创建 RetrofitInstance 的类,我想通过针对模拟的 WebServer 运行虚拟 api 来测试它是否正常工作,但由于某种原因,我得到的不是成功的 200 响应,而是 0。

fun createRetrofitInstance(baseUrl: String, client: OkHttpClient): Retrofit {

        return Retrofit.Builder().baseUrl(baseUrl)
                .addCallAdapterFactory(callAdapterFactory)
                .addConverterFactory(converterFactory)
                .client(client)
                .build()
}
Run Code Online (Sandbox Code Playgroud)

我想使用 DummyApi 来测试它

@Test
    fun `should return successful response`() {
        val mockedWebServer = MockWebServer()
        val mockedResponse = MockResponse().setResponseCode(200)
        mockedWebServer.enqueue(mockedResponse)
        mockedWebServer.start()
        mockedWebServer.url("/")

        val retrofit = tested.createRetrofitInstance(mockedWebServer.url("/").toString(), client)
        val testApi = retrofit.create(TestApi::class.java)

        val actualResponseCall: Call<Any> = testApi.getTestApi()
        assertEquals(200, actualResponseCall.execute().code())
        
        mockedWebServer.shutdown()
    } 
Run Code Online (Sandbox Code Playgroud)

虚拟API

interface TestApi { 
    @GET("/")
    fun getTestApi() : Call<Any>
}
Run Code Online (Sandbox Code Playgroud)

testing android kotlin retrofit okhttp

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