我使用Android Design Library创建了一个应用程序,带有工具栏和TabLayout.
实际上有2个选项卡,都有2个RecyclerView,滚动时会自动折叠工具栏.
我的问题是:当RecyclerView具有少量项目并完全适合屏幕时(如TAB 2中),我可以禁用工具栏折叠吗?
我见过很多像CheeseSquare这样的例子,由Google员工制作,问题仍然存在:即使RecyclerView只有1个项目,工具栏仍然隐藏在滚动上.
我想我可以找出是否在屏幕上显示RecyclerView的第一项,如果是,则禁用工具栏折叠.前者易于实现,后者又如何呢?
这是我的布局:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinator_layout"
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:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/glucosio_pink"
app:tabSelectedTextColor="@android:color/white"
app:tabIndicatorColor="@color/glucosio_accent"
app:tabTextColor="#80ffffff"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_fab"
android:layout_margin="16dp"
android:onClick="onFabClicked"
app:backgroundTint="@color/glucosio_accent"
android:src="@drawable/ic_add_black_24dp"
android:layout_gravity="bottom|right"
/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
android toolbar android-appcompat android-recyclerview android-design-library
更新到Gradle 4.1后,我无法构建我的项目(一切正常,与以前的版本一样).
基本上它不再识别AndroidManifest标签,并在生成的清单中给我错误/build/intermediates/manifests/full/debug.
这是构建日志:
/home/paolorotolo/dev/exp/***/build/intermediates/manifests/full/debug/AndroidManifest.xml
Error:(30) unknown element <action> found
Error:(32) unknown element <category> found
Error:(33) unknown element <category> found
Error:/home/paolorotolo/dev/exp/core/***/build/intermediates/manifests/full/debug/AndroidManifest.xml:30 unknown element <action> found
Error:/home/paolorotolo/dev/exp/core/***/build/intermediates/manifests/full/debug/AndroidManifest.xml:33 unknown element <category> found
Error:java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.AaptException: AAPT2 link failed:
Error:com.android.builder.internal.aapt.AaptException: AAPT2 link failed:
Error:Execution failed for task ':***:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 6s
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中共享一个登录模块,其中一个 LoginActivity处理Facebook和Google身份验证(逻辑+ UI).
现在,通过Facebook,可以轻松地为每个应用指定不同的ID,覆盖facebook_app_id应用模块中的库字符串.
我没有找到与Google登录相同的方法,因为它需要一个google-services.json文件.实际上,如果我将文件包含在应用程序模块中而不是登录库中,则构建将失败.
错误:任务':core:processReleaseGoogleServices'的执行失败.
文件google-services.json丢失了.没有它,Google Services插件无法运行.
错误是不言自明的,我需要 google-services.json在登录模块中.关键是其他应用程序也有自己的google-services.json.
有没有办法可以google-services.json在Login模块中添加一个虚拟对象,然后在真实的应用程序中覆盖它?
android google-authentication google-play-services android-gradle-plugin google-signin