相关疑难解决方法(0)

在CoordinatorLayout中添加工具栏下方的视图

我有以下布局:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main_content"
    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.support.design.widget.AppBarLayout
        android:id="@+id/appBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

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

    <FrameLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我添加了Fragments FrameLayout,替换它们.我的一个Fragment的一个是列表,它具有以下布局:

<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)

我的问题是工具栏是在列表上绘制的.我试图通过将内容包装CoordinatorLayout成a LinearLayout来解决这个问题,这解决了透支问题,但这样appbar滚动行为就不再起作用了.

任何帮助深表感谢!

android android-toolbar androiddesignsupport android-coordinatorlayout

162
推荐指数
2
解决办法
9万
查看次数

以编程方式折叠或展开CollapsingToolbarLayout

简单的问题,但我找不到答案.如何以CollapsingToolbarLayout编程方式折叠或展开?

折叠的工具栏

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

扩展工具栏

android android-collapsingtoolbarlayout

151
推荐指数
7
解决办法
8万
查看次数

Android - 框架布局高度与协调器布局不匹配

我的FrameLayout(抽屉布局中的容器)有问题.FrameLayout的高度超过屏幕高度(在底部的android默认菜单按钮下方).

<android.support.design.widget.CoordinatorLayout
        android:id="@+id/main_content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/navContainer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:minHeight="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways" />

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

        <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

高度超过Android Studio Designer中显示的高度

height android matching android-framelayout

10
推荐指数
1
解决办法
4885
查看次数

CoordinatorLayout弄乱了setError弹出位置

我正面临着EditText setError弹出位置的问题.

编辑文本错误

我正在使用以下代码来创建布局:

activity_profile.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    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" android:fitsSystemWindows="true"
    tools:context=".ProfileActivity"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout android:layout_height="wrap_content"
        android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
            android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />

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

    <include layout="@layout/profile" />

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

是profile.xml

<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".ProfileActivity"
    tools:showIn="@layout/activity_profile">

    <EditText
        android:id="@+id/etProfileName"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:capitalize="words"
        android:hint="@string/et_hint_profile_name"
        android:textAlignment="center" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我试过了什么

如果我改变了android.support.design.widget.CoordinatorLayoutLinearLayoutsetError问题不会发生,但将在状态栏颜色更改为白色的,我的UI正在奇怪.

已更正,状态栏问题

我是Android编程的新手,不知道发生了什么,请帮助我.

android android-linearlayout android-edittext android-coordinatorlayout

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

Android:CollapsingToolbarLayout和SearchView,文本重叠

将CollapsingToolbarLayout标题与SearchView文本重叠时,我没有什么问题.何时展开CollapsingToolbarLayout,没有问题:

在此输入图像描述

但是当折叠时,文本重叠:

在此输入图像描述

怎么解决?

android searchview android-collapsingtoolbarlayout

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

params.getBehaviour() 返回空值

我在玩新的 Android 设计库。CollapsingToolbarLayout 完美运行。但是,我无法将工具栏的默认状态设置为折叠。

我正在尝试实施此处此处显示的解决方案

我在活动的 onResume 中调用以下代码:

   CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
    AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
    if(behavior!=null)
    {
        Log.d("DEBUG", "Behaviour is Not Null ");
        int[] consumed = new int[2];
        behavior.onNestedPreScroll(coordinator, appBarLayout, null, 0, 1000,consumed);
//      behavior.onNestedFling(coordinator, appBarLayout, null, 0, 10000, true);
     }
     else
          Log.d("DEBUG", "Behaviour is Null " );
Run Code Online (Sandbox Code Playgroud)

但是,params 返回的行为为空。我的 xml 代码与此处相同,除了我不使用抽屉并且 CordinatorLayout 是我的根布局。

编辑:我之前尝试将 AppBarLayout.Behavior 切换为 AppBarLayout.ScrollingViewBehavior 并将 AppBarLayout 的 layout_behavior 设置为 @string/appbar_scrolling_view_behavior,但它导致了奇怪的布局。

罗宾的回答效果很好。为了补充这一点,还可以使用 AppBarLayout 中的以下标记在 xml 中设置行为:

app:layout_behavior="android.support.design.widget.AppBarLayout$Behavior"
Run Code Online (Sandbox Code Playgroud)

android toolbar android-design-library

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

隐藏工具栏,CoordinationLayout和Webview不起作用

我正在尝试使用新的CordinationLayout滚动WebView时隐藏工具栏,但它无法正常工作.有什么办法吗?这是我的xml:

<android.support.design.widget.CoordinatorLayout 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="com.themobilebakery.isus.gui.WebViewActivity">

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <android.support.v7.widget.Toolbar
            android:id="@+id/webview_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:minHeight="0dp"
            app:layout_scrollFlags="scroll|enterAlways" />

        <ProgressBar
            android:id="@+id/webview_progress"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="3dp"
            android:progressDrawable="@drawable/isus_orange_progres_webview"
            app:layout_scrollFlags="scroll|enterAlways" />
    </android.support.design.widget.AppBarLayout>

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

android toolbar webview

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