【问题标题】:CollapsibleToolbarLayout line below header image and back button not showing标题图像下方的 CollapsibleToolbarLayout 行和后退按钮未显示
【发布时间】:2015-07-26 09:02:05
【问题描述】:

我已经实现了 CollapsibleToolbarLayout,如下所示。

<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">
<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="match_parent"
        app:contentScrim="?attr/colorPrimary"
        android:fitsSystemWindows="true"
        app:expandedTitleMarginEnd="40dp"
        app:expandedTitleMarginStart="20dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/imgPoster"
                android:scaleType="centerCrop"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="parallax"
                android:background="@drawable/place_holder_land" />
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/detailsGradient" />
            <ImageView
                android:id="@+id/play"
                android:layout_width="wrap_content"
                android:visibility="invisible"
                app:layout_collapseMode="parallax"
                android:layout_gravity="center"
                android:src="@drawable/ic_play_movie"
                android:layout_height="wrap_content" />
        </FrameLayout>
        <android.support.v7.widget.Toolbar
            android:id="@+id/anim_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
    android:id="@+id/scroll"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="fill_vertical"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
 ...LinearLayout omitted...
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="16dp"
    android:clickable="true"
    android:src="@drawable/ic_file_download"
    app:layout_anchor="@+id/appbar"
    app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>

我在工具栏中的框架布局中添加了图像视图,这样我就可以在图像上进行叠加和渐变,以使工具栏文本在某些图像上可见

但是在添加框架布局时,这条颜色线就出现在图像下方(见屏幕截图)。如果我删除线 安卓:fitsSystemWindows="真" 从 appbarlayout 然后颜色线消失,但工具栏也滚动远离视图...

为了在工具栏上显示后退按钮,我在 OnCreate 中添加了以下代码,但它仍然没有显示

 toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.anim_toolbar);
        SetSupportActionBar(toolbar);

        SupportActionBar.SetDisplayHomeAsUpEnabled(true);
        SupportActionBar.SetHomeButtonEnabled(true);
        SupportActionBar.Title = content.Title;
        toolbar.SetNavigationIcon(Resource.Drawable.ic_action);

        collapsingToolbar = FindViewById<CollapsingToolbarLayout>(Resource.Id.collapsing_toolbar);
        collapsingToolbar.SetTitle(content.Title);

谢谢...

【问题讨论】:

    标签: android layout android-actionbar android-support-library


    【解决方案1】:

    好的,现在必须删除

    android:fitsSystemWindows="true"
    

    来自

    <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">
    

    一切都好

    谢谢

    【讨论】:

      【解决方案2】:

      考虑为您的应用栏布局添加固定宽度

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

      【讨论】:

      • 我正在设置这样的高度displayMetrics = new DisplayMetrics(); WindowManager.DefaultDisplay.GetMetrics(displayMetrics); appbar.LayoutParameters = new CoordinatorLayout.LayoutParams(displayMetrics.WidthPixels, (int)(displayMetrics.WidthPixels * .75)); 这样海报在不同的屏幕上看起来不会被拉伸
      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      相关资源
      最近更新 更多