小编San*_*ell的帖子

NestedScrollView内容未显示在CoordinatorLayout内

我有一些内容NestedScrollView没有显示出来.唯一可以显示的是内容AppBarLayout.但是,当我用NestedScrollView包含a的片段替换RecyclerView它时,它会按预期显示.我似乎无法弄清楚我在这里做错了什么.

编辑:我刚刚测试过,如果我删除了AppBarLayout整个和app:layout_behavior="@string/appbar_scrolling_view_behavior"属性NestedScrollView,Android Studio中的预览窗格确实显示我的滚动内容.

<android.support.design.widget.CoordinatorLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <!-- Extended toolbar -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:minHeight="?attr/actionBarSize"
            app:layout_collapseMode="pin">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"/>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:minHeight="72dp">

                <EditText
                    android:id="@+id/name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textCapSentences|textMultiLine"
                    android:hint="Name"/>

            </android.support.design.widget.TextInputLayout>

        </LinearLayout>

    </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"
        android:visibility="visible">

        <!-- Scrolling content here -->

    </LinearLayout>

</android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android android-design-library android-coordinatorlayout

5
推荐指数
2
解决办法
5301
查看次数

访问依赖于其他库的 Android 库的公共资源会产生警告,指出这些资源被标记为私有

我为 Android 创建了一个库,它本身依赖于appcompatdesign支持库。我通过在我的图书馆中放置一个虚拟资源将我图书馆的所有资源标记为私有Public.xml

<public name="string_res_that_does_not_exist" type="string"/>
Run Code Online (Sandbox Code Playgroud)

当我将我的库导入另一个项目时,Android Studio 会在使用appcompatdesign库中的公共资源的行中生成警告,例如:

  • ?colorPrimary
  • ?colorPrimaryDark
  • ?colorAccent
  • ?selectableItemBackground

警告说The resource @attr/<resource-name> is marked as private in <my-library-name>

这个问题似乎与我的问题有关:https : //code.google.com/p/android/issues/detail?id=183120

这里的根本原因是,当一个库依赖另一个库时,它会将其依赖的任何库中的所有资源导入到自己声明的 R.txt(在 AAR 文件中)中。但是,它不包括来自这些依赖项的 public.txt 声明,因此现在它最终将这些符号公开为已声明但不是公共的——例如私有的。

如何防止显示这些警告,以便我图书馆的其他用户不会遇到这些问题?

android android-studio aar

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