标签: android-support-design

棒棒糖图形故障

我已经开始使用Material Design编程,我面临着非常奇怪的图形错误.

  • 我有2个活动A和B.
  • 活动B有3个碎片.
  • 我从活动A开始→点击项目→开始活动B.

基本上,活动A包含带有RecyclerView的片段.2活动B中的3个碎片也包含RecyclerView.一旦我从活动B(其中带有RecyclerView的片段处于活动状态)返回到活动A,通过按下导航按钮,以下是发生的情况:

Bugged截图

当我滚动一下时,一切都在修复.

好截图

我正在使用最新的支持库(21.0.3)和构建工具.Android 5.0和5.0.1上出现Bug.Logcat不会报告任何错误或警告.

我不会覆盖任何活动交易,我也不使用任何Paint,Drawable等.任何人都面临这个错误,任何想法如何解决它?

android android-5.0-lollipop android-support-design

7
推荐指数
0
解决办法
779
查看次数

CoordinatorLayout中的RecyclerView在方向更改后丢失其顶部填充

我正在使用Support Design Library rev.23.0.1(以及22.2.1).问题是在活动方向改变之后,如果已经滚动了RecyclerView(放置在片段中),它会丢失其顶部填充,这可能等于StatusBar Height + AppBar Height(如图所示).在此输入图像描述

有关详情,请参阅此示例视频

这是我的活动布局

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/discount_activity_app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="256dp"
        app:layout_behavior="com.moskart.mosfake.widget.AppBarLayoutBehavior"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:fitsSystemWindows="true"
        >


        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start"
            app:expandedTitleMarginBottom="96dp"
            app:expandedTitleTextAppearance="@style/TextAppearance.Design.CollapsingToolbar.Expanded"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            >

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/hero_image"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7"
                android:fitsSystemWindows="true"
                />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            </android.support.v7.widget.Toolbar>

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


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

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        app:behavior_overlapTop="64dp"
        android:fitsSystemWindows="true" >

        <fragment xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:tools="http://schemas.android.com/tools"
                  android:id="@+id/fragment"
                  android:name="com.moskart.mosfake.fragment.DiscountFeedFragment"
                  tools:layout="@layout/fragment_discount_feed"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent" />
    </FrameLayout>

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

一个简单的片段包含RecyclerView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.moskart.mosfake.fragment.DiscountFeedFragment"
> …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-coordinatorlayout android-support-design

7
推荐指数
0
解决办法
1119
查看次数

Android支持设计浮动操作按钮高程对于白色以外的颜色不可见

我正在使用compile 'com.android.support:design:23.1.1'android.support.design.widget.FloatingActionButton创建一个FAB.

当背景色调颜色为白色时,高程(阴影)非常明显.

在此输入图像描述

但对于其他颜色,海拔不可见.

在此输入图像描述

这是我的代码:

<android.support.design.widget.FloatingActionButton
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/create_floating_button"
        app:elevation="6dp"
        app:borderWidth="0dp"
        android:clickable="true"
        app:backgroundTint="@color/colorAccent"
        app:rippleColor="@color/colorAccentLight"
        android:layout_margin="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

除了这个问题,即使是白色,按钮似乎不像谷歌材料设计规范.

例如检查这个(阴影方向向下):

在此输入图像描述

我究竟做错了什么?

android floating-action-button android-support-design

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

已使用不兼容格式定义的属性(此处定义的原始属性)

添加后无法构建项目

compile 'com.android.support:design:24.2.0'
Run Code Online (Sandbox Code Playgroud)

继续发出以下错误:

似乎,问题是支持矢量drawables.在某处某些属性被添加两次.

例如,内置的values.xml文件包含:

<declare-styleable name="AppBarLayout_LayoutParams"><attr name="layout_scrollFlags"><flag name="scroll" value="0x1"/><flag name="exitUntilCollapsed" value="0x2"/><flag name="enterAlways" value="0x4"/><flag name="enterAlwaysCollapsed" value="0x8"/></attr><attr format="reference" name="layout_scrollInterpolator"/></declare-styleable>
Run Code Online (Sandbox Code Playgroud)

<declare-styleable name="AppBarLayout_Layout"><attr name="layout_scrollFlags">
        <flag name="scroll" value="0x1"/>
        <flag name="exitUntilCollapsed" value="0x2"/>
        <flag name="enterAlways" value="0x4"/> 
        <flag name="enterAlwaysCollapsed" value="0x8"/>
        <flag name="snap" value="0x10"/>
Run Code Online (Sandbox Code Playgroud)

我已将此添加到gradle文件中:

compile 'com.android.support:cardview-v7:24.2.0' + '@aar'
compile 'com.android.support:recyclerview-v7:24.2.0' + '@aar'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
Run Code Online (Sandbox Code Playgroud)

android android-appcompat gradle android-support-design

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

我需要隐藏底部导航栏中的项目标题

我创建底部导航栏,我需要隐藏标题和显示图标,但当我用空字符串写标题时,图标和底部之间有很大的空间,它只是用空字符串替换字符串,我做了很多搜索,但我没有找到解决方案所以任何帮助

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.easyschools.student.HomeActivity">

<FrameLayout
    android:id="@+id/main_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/navigation"
    android:layout_alignParentTop="true">
 </FrameLayout>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="@android:color/white"
    android:layout_alignParentBottom="true"
    app:menu="@menu/navigation"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

navigation.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/nav_messages"
        android:icon="@drawable/msg_icon"
        android:title=""/>

    <item
        android:id="@+id/nav_home"
        android:icon="@drawable/home_icon"
        android:title=""
        android:checked="true"/>

    <item
        android:id="@+id/nav_notify"
        android:icon="@drawable/notify_icon"
        android:title=""/>

    <item
        android:id="@+id/nav_my_profile"
        android:icon="@drawable/user_icon"
        android:title=""/>
</menu>
Run Code Online (Sandbox Code Playgroud)

android android-support-design

7
推荐指数
2
解决办法
4238
查看次数

切换可见性AppBarLayout视图会导致加载的碎片出现间距问题


我遇到了新的Android Design Support Librar(http://android-developers.blogspot.com.ar/2015/05/android-design-support-library.html)的一个奇怪问题.如果我在AppBarLayout中放置其他内容(如LinearLayout)以及ToolBar并切换该内容的可见性,那么切换片段将在片段内容的顶部显示死区.

当切换内容的可见性时,AppBarLayout似乎没有正确调整父级CoordinatorLayout的大小.我的CoordinatorLayout包含在DrawerLayout中.我想根据显示的片段切换AppBarLayout中额外LinearLayout的可见性.

这是MainActivity的main.xml文件:

<android.support.v4.widget.DrawerLayout
        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/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

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

        <android.support.design.widget.AppBarLayout
                android:id="@+id/appBarLayout"
                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="?attr/actionBarSize"/>

            <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:gravity="center_vertical"">

                <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="start"
                        android:text="Hello"/>
            </LinearLayout>

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

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

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

  <android.support.design.widget.NavigationView
            android:id="@+id/navigation"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            app:menu="@menu/drawer"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

android material-design android-coordinatorlayout android-support-design android-appbarlayout

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

TextInputLayout指向顶部

TextInputLayout在support-library版本23.1.0中引入了一个很好的计数器函数 - 不幸的是,浮动提示在layout_height中变得非常高.有没有办法将柜台带到顶部(与浮动标签高度相同?)

android android-support-library material-design android-design-library android-support-design

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

如何设置BottomSheet完整父级的高度?

我试图使用点击按钮上的ndroid-support-library 23.2调用BottomSheet .它工作正常,但没有采取全高度.它位于下方AppBarLayout.我在Android文档上找不到任何解决方案

这是我的屏幕布局

在此输入图像描述

在此输入图像描述

这是我的代码.

activity_main.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:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.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="snap|enterAlwaysCollapsed"
            app:popupTheme="@style/AppTheme.PopupOverlay" />
        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            app:tabGravity="fill"
            app:tabIndicatorColor="#5be5ad"
            app:tabIndicatorHeight="4dp"
            app:tabMode="fixed" />
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />

    <!-- BottomSheet Layout -->
    <FrameLayout
        android:id="@+id/bottom_sheet"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        app:behavior_hideable="true"
        app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

    </FrameLayout>

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

MainActivity.java

View bottomSheet;
private BottomSheetDialog mBottomSheetDialog;

private …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-support-library material-design android-support-design

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

Android支持库问题23.2.1 AppBarLayout setExpanded

我已将Android支持库升级23.1.1到,23.2.1并且AppBarLayout setExpanded方法不再像过去那样工作.

我有CollapsingToolbarLayout占据整个屏幕,在它下面有NestedScrollView持有其他视图.向上和向下滑动会完全折叠/展开工具栏布局,从而显示或隐藏带内容的滚动视图.

手动滑动工作正常,但我也有按钮触发AppBarLayout setExpanded方法与true/false参数自动折叠/扩展工具栏.使用版本,23.1.1此方法也可正常工作,但23.2.1只有第一次折叠工具栏将在下方滚动视图中显示内容,所有后续折叠都不会.setExpanded(true)折叠工具栏时的触发方法将显示我的滚动视图的内容,并且扩展动画将按照预期的方式工作.

可以在API为22或更低的设备/仿真器上重现问题.

我有什么想法可以在23.2.1库中修复这种行为?


展示上述行为的基本示例:

MainActivity.java

package com.test.displaym;

import android.support.design.widget.AppBarLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void btnClick(View v)
    {
        View iv = findViewById(R.id.image_view);
        AppBarLayout bar = (AppBarLayout) findViewById(R.id.app_bar);

        if (iv.getTop() == 0) bar.setExpanded(false);
        else bar.setExpanded(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中 …

java android android-support-library android-support-design

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

使用TabItem时如何将TabLayout与ViewPager同步

我想用TabLayoutTabItem用下面的代码:

  <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/color_primary"
        app:tabGravity="fill"
        app:tabIndicatorColor="@color/white"
        app:tabMode="fixed"
        app:tabSelectedTextColor="@color/white"
        app:tabTextColor="@color/gray_light">

        <android.support.design.widget.TabItem
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:icon="@drawable/ic_language" />


        <!-- other tabs ... -->


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

这是正确的向我展示图标:

在此输入图像描述

但问题是当我想添加我TabLayout的时候ViewPager,使用以下代码,所有这些代码都存在且可点击但却消失了.我错过了什么?

 MyPagerAdapter adapter = new MyPagerAdapter(getFragmentManager());
 pager.setAdapter(adapter);

 tabLayout.setupWithViewPager(pager);
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此输入图像描述

android material-design android-support-design android-tablayout

6
推荐指数
2
解决办法
3172
查看次数