Articles of androiddesignsupport

浮动动作button边框颜色不变

我通过使用以下代码更改了Floating Action Button backgroundTintList颜色: fab.setBackgroundTintList(ColorStateList.valueOf(mResources.getColor(R.color.fab_color))); 但是我最终得到了API 4.4.2的以下内容: 一切看起来很好API 21 <=但API 21以下,我有这个问题的FAB。 我正在编程创buildFAB,如下所示: FloatingActionButton fab = new FloatingActionButton(this); CoordinatorLayout.LayoutParams layoutParams = new CoordinatorLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); fab.setLayoutParams(layoutParams); layoutParams.rightMargin = mResources.getDimensionPixelSize(R.dimen.activity_horizontal_margin); ((CoordinatorLayout) findViewById(R.id.coordinatorLayout)).addView(fab); CoordinatorLayout.LayoutParams p = (CoordinatorLayout.LayoutParams) fab.getLayoutParams(); p.setAnchorId(R.id.appBarLayout); p.anchorGravity = Gravity.BOTTOM | Gravity.END; fab.setLayoutParams(p); fab.setVisibility(View.VISIBLE); fab.setBackgroundTintList(ColorStateList.valueOf(mResources.getColor(R.color.fab_color))); fab.setImageDrawable(getResources().getDrawable(R.drawable.ic_button)); 我也碰巧由FloatingActionButton的官方源代码运行,我看到他们在这里实例化borderDrawable: @Override void setBackgroundDrawable(Drawable originalBackground, ColorStateList backgroundTint, PorterDuff.Mode backgroundTintMode, int […]

获取错误膨胀类android.support.design.widget.NavigationView

我正在关注从devise支持库实现navigationView的教程,我不能摆脱下面的这个错误。 我已经阅读了本网站上发布的其他解决scheme,但没有一个为我工作,请帮助。 Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class android.support.design.widget.NavigationView activity_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" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include android:id="@+id/tool_bar" layout="@layout/tool_bar" /> <FrameLayout android:id="@+id/frame" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </LinearLayout> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/header" app:menu="@menu/drawer" /> </android.support.v4.widget.DrawerLayout> MainActiviy.java import android.support.design.widget.NavigationView; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import […]

Viewpager溢出协调器布局内的屏幕

我试图使用devise支持库来实现选项卡 。 问题是viewpager重叠工具栏和tablayout当我删除属性 app:layout_behavior="@string/appbar_scrolling_view_behavior" 的观点。 viewpager与工具栏和tablayout重叠 当我添加属性viewpager溢出屏幕。 viewpager溢出屏幕 我只需要viewpager占用tablayout和工具栏后留下的空间,而不是溢出屏幕… 这是我的activity_main.xml <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.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="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" 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.CoordinatorLayout> 这是我的fragment_1.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <TextView […]

EditText在使用devise支持库时,getHint()返回null

将EditText与Design lib(ver 22.2.1)结合使用时,TextInputLayout以编程方式获取提示返回null。 我试图追加星号“*”以编程方式强制字段,因此EditText.getHint()但事实上,它返回null是在这种情况下的问题。 EditText editText = (EditText) findViewById(R.id.edit2); String hint = String.format("%s *", editText.getHint()); editText.setHint(hint); 一个简单的代码插图:Layout.xml: <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/edit2" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hello_world" android:inputType="text"/> </android.support.design.widget.TextInputLayout> Java的: EditText editText = (EditText) findViewById(R.id.edit2); if (editText.getHint() == null) throw new AssertionError("Hint should not be null"); 依赖:编译'com.android.support:design:22.2.1' 以前相关的问题在这里 !

match_parent不适用于CoordinatorLayout

我使用Androiddevise支持库( com.android.support:appcompat-v7:22.2.0 ),并在CoordinatorLayout有一个LinearLayout ,像这样: <android.support.design.widget.CoordinatorLayout android:id="@+id/rootLayout" 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.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/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> <!– Content –> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#44ff44" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yo Yo" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yo Yo" /> </LinearLayout> </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:headerLayout="@layout/nav_header" app:itemIconTint="@color/nav_item_icon_tint_color" app:itemTextColor="@color/nav_item_text_color" app:menu="@menu/navigation_drawer_items" /> 在代码中,我已经改变了背景颜色,我期望BG应该填充所有的显示(因为我在layout_width和layout_height中使用match_parent),但是我得到了这样的BG颜色: 看起来像wrap_content显示比使用match_parent更多。 […]

android:如何使用CoordinatorLayout和半透明导航栏?

我一直在研究新的谷歌支持devise库。 我正在努力如何使导航栏半透明,并显示酒吧下方recyclerView的内容。 我正在testing一个5.1 nexus 5.我使用下面的项目作为testing项目。 来自Chris Banes的示例代码: https : //github.com/chrisbanes/cheesesquare 我在下面添加到styles.xml <item name="android:windowTranslucentNavigation">true</item> 使导航栏半透明。 但是,我无法使CoordinatorLayout及其内容recyclerView显示在栏下方。 我想要的是: recyclerView显示在导航栏下 快速返回在那里,当appbar被隐藏,它不应该在半透明的状态栏下面。 状态栏应该能够完全隐藏滚动的部分。

将滚动事件传递到另一个视图

我一直在使用androiddevise支持库来折叠工具栏布局。 一切工作正常,除了我想滚动整个视图滚动collapsingBarlayout内容 这是xml布局: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 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_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="420dp" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp" android:fitsSystemWindows="true"> <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.8" android:fitsSystemWindows="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/scroll_view" android:layout_width="match_parent" […]

AlertDialogbutton文本颜色与支持库v24.2.1

我有AlertDialog的问题。 button不使用accentColor来设置button文本颜色。 我正在使用最新的支持库v24.2.1。 我使用以下方法在styles.xml中设置对话框的样式: <style name="Base.Theme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:alertDialogTheme">@style/Widget.DialogStyle</item> <item name="alertDialogTheme">@style/Widget.DialogStyle</item> </style> 和Widget.DialogStyle看起来像这样: <style name="Widget.DialogStyle" parent="@style/Theme.AppCompat.Light.Dialog.Alert"> <item name="android:colorAccent" tools:targetApi="lollipop">@color/primaryColor</item> <item name="colorAccent">@color/primaryColor</item> <item name="android:textColorPrimary">@color/primaryText</item> <item name="android:textColor">@color/primaryText</item> <item name="android:background">@color/backgroundColor</item> <item name="android:textAppearanceLarge">@color/primaryText</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> </style> 在应用程序接口的低于24的对话框button被colorAccent上色,但在API 24这不再是行为(文本是黑色的,应该是橙色)。 看下面的截图 。 有没有人知道如何让accentColor回到button上? 谢谢。

Android布局行为在CollapsingToolbarLayout的子级时不会被调用

我想设置一个layout_behavior作为CollapsingToolbarLayout的子元素,但行为永远不会在iv_header视图上iv_header 。 当它被锚定在外面时,如tv_follow视图,它可以很好地工作。 该文档没有具体说明layout_behavior无法在AppBarLayout或CollapsingToolbarLayout所以我不知道为什么它不工作。 <?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" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/header" android:layout_width="match_parent" android:layout_height="@dimen/full_header_height" android:focusable="true" android:focusableInTouchMode="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/iv_header" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:contentDescription="@null" app:layout_behavior="com.package.view.HidingBehavior" app:layout_collapseMode="parallax" android:src="@drawable/profile_background"/> <android.support.v7.widget.Toolbar android:id="@+id/header_toolbar" android:layout_height="@dimen/action_bar_height" android:layout_width="match_parent" android:background="@drawable/toolbar_dark_gradient_half" android:gravity="top" app:layout_collapseMode="pin"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <TextView android:id="@+id/tv_follow" android:textSize="20sp" android:textColor="@android:color/white" android:text="@string/follow" android:drawableLeft="@drawable/comm_follow" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_anchor="@id/header" […]

Android BottomSheet:在工具栏下面

我尝试使用支持库23.2.0中的新底部表单,将底部表单展开为全屏,如devise指南中所build议的 这工作非常好,但底部工作表在我的ActionBar和我的标签下。 怎么可能让它通过工具栏? 我的菜单结构如下: <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/appbar_padding_top"> <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|snap|enterAlways" 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.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <include android:id="@+id/playerLayout" layout="@layout/player_main" android:layout_width="match_parent" android:layout_height="match_parent" app:behavior_peekHeight="?attr/actionBarSize" app:layout_behavior="@string/bottom_sheet_behavior" app:model="@{model}"/> </android.support.design.widget.CoordinatorLayout>