Articles of android design library

BottomSheetBehaviour setstate没有animation

我用设计库23.0.2尝试了新的BottomSheetBehaviour ,但我认为它太有限了。 当我使用setState()方法更改状态时,底部图片使用广告animation移动到新状态。 如何在没有animation的情况下立即更改状态? 我没有看到公开的方法来做到这一点。

CollapsingToolbarLayout和NestedScrollView无法正常工作

我正在尝试使用NestedScrollView实现CollapsingToolbarLayout,它在底部的NestedScrollView中显示TextView,不允许,滚动或折叠工具栏。 我已经使用了RecyclerView而不是NestedScrollView。 当我删除app:layout_behavior=”@string/appbar_scrolling_view_behavior ,工具栏会崩溃,但NestedScrollView不会低于AppBarLayout。有任何解决方案或建议可以解决这个问题吗? XML 结果

TabLayout选择了标签重力

TabLayout设置了ViewPager ,有很多标签, MODE_SCROLLABLE和keyline app:tabContentStart=”72dp” 。 当用户选择选项卡时, TabLayout尝试将选定的选项卡滚动到中心。 我希望选定的选项卡与keyline保持对齐,而不是居中。 可能吗? Android设计支持库v22.2.0。

TextInputLayout和TextInputEditText之间的区别

需要知道TextInputEditText和TextInputLayout之间究竟有什么区别,我们什么时候应该使用其中一个。

TextInputLayout中的AppCompatEditText.getpParent()返回FrameLayout

我正在创建简单的AppCompatEditText,添加OnFocusChangeListener并将其放在简单的TextInputLayout中。 当AppCompatEditText失去焦点时,它的内容应该通过isValidParam方法validation。 它工作到昨天,当我使用rev.23.0.3但是现在,当我使用rev.24.0.2时,它在isValidParam方法的第1行给出如下错误。 java.lang.ClassCastException:android.widget.FrameLayout无法强制转换为android.support.design.widget.TextInputLayout 我检查了调试模式。 AppCompatEditText.getpParent()确实返回Framelayout而不是TextInputLayout。 LinearLayout llParams = new LinearLayout(context); llParams.setOrientation(LinearLayout.VERTICAL); // Create label for param final TextInputLayout tilParam = new TextInputLayout(context); // Add label into layout llParams.addView(tilParam); // Create Editor for param final AppCompatEditText etParam = new AppCompatEditText(context); edParam.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) if (isValidParam(etParam)) […]

如何使用ADT-plugin将“Android设计支持库”添加到Eclipse?

Android开发者博客于2015年5月宣布: Design库现已上市,因此请务必在SDK Manager中更新Android Support Repository。 我使用Eclipse(版本:Luna 4.4.2)和最新的ADT插件,并且在SDK管理器中看不到任何“设计”: 当我尝试在我的项目中使用android.support.design.widget.FloatingActionButton或android.support.design.widget.NavigationView时 – 我很遗憾地得到错误: 引起:java.lang.ClassNotFoundException:路径上没有find类“android.support.design.widget.NavigationView”… 如果我将使用Android Studio,我可能需要该行 compile ‘com.android.support:design:22.2.0’ 但是如何在Eclipse中解决这个问题? 我可以下载设计库的JAR文件吗? 我搜索了\sdk\extras\android\support\ path,但还没find。

CoordinatorLayout中的ViewPager中的非滚动片段

我在Activity中的CoordinatorLayout(来自最新版本的Design Library)中使用ViewPager。 此ViewPager的某些片段具有RecyclerView或NestedScrollView等布局,但有些片段只是因为内容较小而无法滚动。 但是在一个以FrameLayout作为根视图的片段中,我需要一个固定在底部的按钮,但它似乎是在屏幕外绘制的。 为了能够看到它,我需要添加一个底部填充等于工具栏的高度。 同样,在元素上设置为“center”的layout_gravity似乎不在此片段的可见区域的中心。 我的理解是CoordinatorLayout只是打算使用滚动内容,这是正确的吗? 因此,对于ViewPager片段,只使用常规ViewGroup(例如FrameLayout,RelativeLayout,LinearLayout)将其底部部分绘制出屏幕外? 在这种情况下,我是否需要从此片段布局中删除此按钮并将其移动到包含CoordinatorLayout的活动布局? 它只需要在第一个片段上显示。

CollapsingToolbarLayout setTitle()不再工作

来自CollapsingToolbarLayout的setTitle()方法已经存在一些错误(例如仅在滚动后显示,在v22.2.1中v22.2.1 )。 今天我更新到v23.0.0 ,它根本不起作用,就像没有显示标题一样。 通过延迟多次调用它,我可以看到有时标题就在那里,但它确实不可靠(比如,你切换到另一个片段,然后回到第一个,并且不再有标题)。 我发现有一个新属性app:titleEnabled或CollapsingToolbarLayout.setTitleEnabled(boolean) 。 我已将两者都设置为true,但实际上并没有改变任何内容。 你们中的任何人都有同样的行为吗? 我想知道市场上有多少应用程序正在使用这个设计库,它已经从第一个版本充满了错误并且没有变得更好。 编辑 通过进一步的测试,似乎(我不是100%肯定)它连接到新的AppBarLayout.setExpanded() api。 如果我打电话: collapsingToolbar.setTitle(“title”); 它有效,但如果我打电话 collapsingToolbar.setTitle(“title”); appbarLayout.setExpanded(true, true); //OR appbarLayout.setExpanded(true, true); collapsingToolbar.setTitle(“title”); 它没有 – 没有标题显示。 与setExpanded(false, true) ,即尝试折叠工具栏。 Edit2(2015年9月) 好吧,不。 即使我从不调用abl.setExpanded()或app:expanded abl.setExpanded() ,问题仍然存在。 此外,我们现在在v23.0.1上,这仍然没有修复。 看起来我们中只有少数人正在体验它,因为我在这里找不到任何东西,也没有在官方的错误列表中find任何东西。 我在这里提交了一个错误。

如何在RecyclerView上使用SwipeDismissBehavior.OnDismissListener

我正在尝试使用来自设计支持库的SwipeDismissBehavoir 。 我在RecyclerView列出了项目并刷了一个项目必须解雇(如谷歌收件箱应用程序)。 我已经为RecyclerView项设置了监听器,但是没有调用SwipeDismissBehavior onDismiss监听器。 SwipeDismissBehavior behavior = new SwipeDismissBehavior(); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams)mItemLayout.getLayoutParams(); params.setBehavior(behavior); behavior.setListener(new SwipeDismissBehavior.OnDismissListener() { @Override public void onDismiss(View view) { } @Override public void onDragStateChanged(int i) { } }); mItemLayout.setLayoutParams(params);

支持库24.2.1中锚定FloatingActionButton的错误

我从24.2.0开始就遇到过这个问题,但是现在我正在使用24.2.1并且bug仍在这里,它只能很好地运行<= 24.1.1。 我有一个像这样的锚定FloatingActionButton: 它通常像这样工作: 但有时会出现错误,锚点不起作用: 有没有办法解决这个问题,还是应该等到这个bug得到修复并使用24.1.1代替?