I recently downloaded Android Studio Bumblebee and it helpfully asked whether I wanted to upgrade to Android Gradle Plugin 7.1.0, the version that shipped alongside Android Studio Bumblebee.
After upgrading, I get a build error:
Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'.
This is an unexpected error. Please file a bug containing the idea.log file.
Run Code Online (Sandbox Code Playgroud)
And looking at the idea.log file, I see:
A problem occurred evaluating project ':main'.
at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:103)
...
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':main'.
at …Run Code Online (Sandbox Code Playgroud) android android-gradle-plugin firebase-performance android-architecture-navigation android-safe-args
我想从Material设计滚动技术中实现"具有重叠内容的灵活空间"模式,例如在此视频中:

我的XML布局现在看起来像:
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="192dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<....>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以使用设计库实现这一目标?或者我是否必须构建自定义CoordinatorLayout.Behavior来执行此操作?
android android-design-library android-collapsingtoolbarlayout
我一直在使用支持库23.2中添加的新BottomSheetDialog ,但我想更改对话框的默认高度.我知道它可能与behavior_peekHeight控制初始高度的属性有关,但是如何BottomSheetDialog在我无法直接访问BottomSheetBehavior?时设置它?
我正在使用Support Library 23.2中添加的支持向量drawable 和AppCompat.我正在使用带有app:srcCompat和内部的矢量绘图,StateListDrawable所以我可以将它们android:drawableLeft用于我的TextView.
自升级到AppCompat的23.3.0版本以来,只有向量app:srcCompat正在运行.每当我以另一种方式引用它时
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.package.name/.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class Button
...
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class Button
...
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #14: invalid drawable tag vector
at android.graphics.d
Run Code Online (Sandbox Code Playgroud)
改变了什么现在导致我的支持向量drawables在某些情况下失败?
我正在使用Android Paging Library,如下所述:https: //developer.android.com/topic/libraries/architecture/paging.html
但我也有一个EditText用于按名称搜索用户.
如何过滤分页库中的结果以仅显示匹配的用户?
即使在添加导航架构组件依赖项后,"新建资源"对话框也没有导航图的导航资源类型
def nav_version = '1.0.0-alpha01'
implementation "android.arch.navigation:navigation-fragment:$nav_version"
implementation "android.arch.navigation:navigation-ui:$nav_version"
Run Code Online (Sandbox Code Playgroud)
navigation android googleio android-architecture-components android-architecture-navigation
我升级到 Jetpack Compose 1.0.0-alpha12 并开始遇到问题。
首先,setContent我使用的方法显示为已弃用。
从Alpha 12 发行说明中,我注意到它说:
ComponentActivity.setContent 已移至 androidx.activity:activity-compose 模块中的 androidx.activity.compose.setContent。( icf416 )
所以我删除了 myimport androidx.compose.ui.platform.setContent并将其切换为import androidx.activity.compose.setContent,从而删除了弃用。
但是,然后我收到一个错误消息:
w: Flag is not supported by this version of the compiler: -Xallow-jvm-ir-dependencies
w: ATTENTION!
This build uses unsafe internal compiler arguments:
-XXLanguage:+NonParenthesizedAnnotationsOnFunctionalTypes
This mode is not recommended for production use,
as no stability/compatibility guarantees are given on
compiler or generated code. Use it at your own risk!
e: Classes compiled by …Run Code Online (Sandbox Code Playgroud) 我想使用导航架构组件.
但我在导入safeargs方面遇到了问题
同步消息:
找不到androidx.navigation:safe-args-gradle-plugin:1.0.0-alpha01.在以下位置进行了搜索:
https://dl.google.com/dl/android/maven2/androidx/navigation/safe-args-gradle-plugin/1.0.0-alpha01/safe-args-gradle-plugin-1.0. 0-alpha01.pom
https://dl.google.com/dl/android/maven2/androidx/navigation/safe-args-gradle-plugin/1.0.0-alpha01/safe-args-gradle-plugin-1.0.0 -alpha01.jar
https://jcenter.bintray.com/androidx/navigation/safe-args-gradle-plugin/1.0.0-alpha01/safe-args-gradle-plugin-1.0.0-alpha01.pom
https:/ /jcenter.bintray.com/androidx/navigation/safe-args-gradle-plugin/1.0.0-alpha01/safe-args-gradle-plugin-1.0.0-alpha01.jar
要求:
项目:
我跟随添加组件到您的项目,但没有解决我的问题.
项目:build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "androidx.navigation:safe-args-gradle-plugin:1.0.0-alpha01"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) { …Run Code Online (Sandbox Code Playgroud) 我有一个使用Androids ViewModel类和导航组件的应用程序,用于在片段之间导航.我如何处理ViewModel的导航?我正在使用RxJava,我正在考虑让Fragments监听导航事件,然后以这种方式触发导航.处理这个问题的正常方法是什么?如果有帮助,我也使用Dagger进行依赖注入.
android mvvm rx-java android-viewmodel android-architecture-navigation
我已经安装了最新的金丝雀版Android Studio,并按照此(https://developer.android.com/topic/libraries/architecture/navigation/navigation-implementing)说明实现了简单的两页导航.基本上page1有一个按钮,当它被点击时,应用程序显示page2.
它有效,但有一个问题......它似乎没有自动对动作栏做任何事情.是否应该通过导航库自动显示/返回箭头和操作栏上的"标签"属性?或者我应该像以前一样手动完成所有工作?我想在第2页显示时显示后退箭头和动作(工具)栏上的"详细信息".
在按钮上单击第1页.
override fun onViewCreated(view: View, savedInstanceState: Bundle?)
{
button1.setOnClickListener {
val nav = NavHostFragment.findNavController(this);
nav.navigate(R.id.show_page2)
}
}
Run Code Online (Sandbox Code Playgroud)
主要活动XML.默认情况下,它是默认的操作栏,我用ToolBar替换它.没有区别.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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"
tools:context=".MainActivity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:background="?attr/colorPrimary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:layout_width="match_parent">
</androidx.appcompat.widget.Toolbar>
<fragment
android:id="@+id/my_nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:navGraph="@navigation/nav_graph"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
导航图XML.
<?xml version="1.0" encoding="utf-8"?>
<navigation 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/nav_graph"
app:startDestination="@id/page1">
<activity
android:id="@+id/mainActivity2"
android:name="com.android.navtest.MainActivity"
android:label="activity_main"
tools:layout="@layout/activity_main"/>
<fragment
android:id="@+id/page1"
android:name="com.android.navtest.BlankFragment2"
android:label="Home page"
tools:layout="@layout/page1">
<action
android:id="@+id/show_page2" …Run Code Online (Sandbox Code Playgroud) android android-navigation android-jetpack android-architecture-navigation
android ×10
android-architecture-navigation ×5
android-architecture-components ×1
android-collapsingtoolbarlayout ×1
googleio ×1
gradle ×1
mvvm ×1
navigation ×1
rx-java ×1
search ×1