小编Esc*_*ist的帖子

具有登录/注册/主页流程的导航组件

我想在我的下一个应用程序中使用新的导航组件,但我无法完全了解导航的整体流程。Android 团队建议将单个活动作为切入点。他们还建议像登录/注册这样的条件元素不应该是入口点。但是,如果输入屏幕应该是主屏幕,那么您如何显示登录和注册按钮?

另一个想法是使用闪屏,在那里有逻辑来确定用户是否已经登录,如果是,则转到主屏幕,如果不显示登录/注册屏幕。

我的另一个问题是单一活动。我的主屏幕需要是带有底部导航的屏幕。

您如何以“正确的方式”将所有这些联系起来?我是否需要为 Home 视图创建一个单独的导航图,以及底部导航和从那里流出的许多屏幕?

我发现的所有示例都非常简单,我看到的少数几个将 Splash 屏幕拆分为 Home 和 Login 的示例有一个非常简单的 Home 片段,在我的例子中是 . 底部导航更复杂。

谢谢。

android kotlin

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

Android:导航组件和即时应用

导航组件文档鼓励包含多个片段的单个活动。

我们如何通过即时应用程序实现此目的?他们将如何直接降落在碎片中?

我正在考虑一个特定的用例:在已安装的应用程序上,用户在初始屏幕上启动,必要时登录,然后到达由BottomNavigation组成的主页,该页面由三个部分组成:Feature1,Feature2和Feature3 。每个要素都是一个片段或一组片段,它们位于BottomNav父对象的范围内。

现在可以创建一个直接在Feature3中打开的即时应用程序,这意味着没有父BottomNAv。功能本身就可以吗?

android kotlin android-instant-apps android-architecture-components android-architecture-navigation

6
推荐指数
0
解决办法
103
查看次数

LoganSquare解析为通用Object或Map

我正在使用非常快的LoganSquare来解析Android中的JSON.我想将JSON字符串解析为通用对象或最好是Map.对于大多数情况,我使用自定义对象来映射我的json响应,但在某些情况下,响应过于通用,我宁愿将其映射到Hashmap.那可能吗?我试过各种各样的方法,但似乎失败了.干杯.

android json

5
推荐指数
0
解决办法
505
查看次数

BindingAdapter 无法跨模块访问

我有一个项目,其中每个功能都是自己的模块。我BindingAdapter在主 app 模块中定义了一些自定义数据绑定,但其他模块无法访问它们。我通常会收到此错误:Cannot find the setter for attribute xxx

每个模块dataBinding{ enabled true }在各自的 gradle 文件中都有。

如果我将@BindingAdapter定义从核心模块移动到需要它的模块,它会突然起作用。

我正在使用3.3.1gradle 工具的版本。

mobile android android-databinding

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

工具栏上的波纹效果被切断

Toolbar在我的应用程序中使用,并通过菜单对其进行了填充。我这里有一个问题,因为波纹效果会自动添加到按钮上,但是最左侧按钮的波纹效果会被菜单区域的边界所截断。
您可以看到波纹扩大,但是波纹在左侧消失了。
任何想法如何解决这个问题?

在此处输入图片说明

android material-design android-toolbar

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

实验gradle问题:android插件必须应用于项目

我正在尝试使用Android Studio中的NDK运行一些本机代码.我已按照此处显示的步骤 使用实验Gradle,但显然并非一切顺利.我收到此错误:The android or android-library plugin must be applied to the project
这是我的gradle文件:

apply plugin: 'com.android.model.application'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'io.fabric'

model {
    android {
        compileSdkVersion = 22
        buildToolsVersion = "22.0.1"

        android.ndk {
            moduleName = "test"
        }

        defaultConfig.with {
            applicationId = "com.shaperstudio.dartboard"
            minSdkVersion.apiLevel = 15
            targetSdkVersion.apiLevel = 22
            versionCode = 1
            versionName = "1.0"
        }
    }
    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles += file('proguard-rules.pro')
        }
    }
    packagingOptions {
        exclude = 'META-INF/services/javax.annotation.processing.Processor'
    }
} …
Run Code Online (Sandbox Code Playgroud)

android build.gradle android-gradle-plugin

4
推荐指数
2
解决办法
3904
查看次数