Articles of android support design

在片段内使用TabLayout; 标签文字不可见

我正在尝试新的Android支持devise库中的各种新组件。 我在我的MainActivity.java实现了一个NavigationView ,它使用FragmentManager在Navigation抽屉中的项目之间导航: getSupportFragmentManager() .beginTransaction() .replace(R.id.content, mTabLayoutFragment) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .commit(); 我在一个片段中使用TabLayout 。 这是片段的布局: <android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="fixed" app:tabGravity="fill" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white"/> </android.support.design.widget.AppBarLayout> 和它背后的Java代码: import android.os.Bundle; import android.support.design.widget.*; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class TabLayoutFragment extends Fragment […]

Vector Drawables标志在支持库24+上不起作用

今天,似乎Android的牛轧糖被释放 。 因此,我比以往更兴奋地优化我的应用程序的新function,如分屏。 我想推我的应用程序版本的目标SDK版本24以便用户不会通知我的应用程序可能无法在分屏幕工作。 但是,这样做意味着我也应该更新到支持库的第24版。 与其他许多人一样,更新到支持库的23.2.0版本时遇到了问题。 但是,我遵循这个答案 ,它解决了我的问题。 现在问题是从版本24.0.0及以上的支持库返回。 在我所有的testing中,我都使用了链接回答中描述的gradle标志: vectorDrawables.useSupportLibrary = true 同样重要的是要注意,这只发生在Lolliop前的设备(Kitkat及以下)上。 棒棒糖和完美的作品。 使用以下依赖项时,标志正常工作: compile 'com.android.support:support-v4:23.4.0' compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0' compile 'com.android.support:cardview-v7:23.4.0' 但是,当使用这些依赖关系时,我得到一个类似于使用该标志之前得到的崩溃: compile 'com.android.support:support-v4:24.2.0' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.android.support:cardview-v7:24.2.0' 这里是崩溃的堆栈跟踪: FATAL EXCEPTION: main Process: com.badon.brigham.time, PID: 2070 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.badon.brigham.time/com.badon.brigham.time.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f02004f […]

在com.android.support:design:23.1.0中更改左侧,顶部,右侧或底部的TabLayout图标

我很新的android开发。 所以请忍受我。 我一直试图alignmentcom.android.support:design:23.1.0一天的图标和文本。 显然在com.android.support:design:23.1.0他们已经把默认的图标位置改成了顶部,文字在底部。 以前在com.android.support:design:23.0.1默认是左边的图标,文本与图标在同一行 所以这里有一个简单的方法来解决它(虽然它可能有缺点,idk tbh): change the version in your app's build.gradle. ex: 23.1.0 to 23.0.1 and build. 还有更好的方法来做到这一点(这种方式,你也可以在左,右,上,下alignment图标): 在res / layout中创build一个custom_tab.xml <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAlignment="center"/> 2.在你的活动java TextView newTab = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null); newTab.setText("tab1"); //tab label txt newTab.setCompoundDrawablesWithIntrinsicBounds(your_drawable_icon_here, 0, 0, 0); tabLayout.getTabAt(tab_index_here_).setCustomView(newTab); 到目前为止,我已经实现了让图标出现在任何一方: PS: setCompoundDrawablesWithIntrinsicBounds函数参数是这样的4边图标: setCompoundDrawablesWithIntrinsicBounds(leftDrawable, topDrawable, rightDrawable, bottomDrawable)

错误膨胀类CollapsingToolbarLayout

我的CollapsingToolbarLayout崩溃,因为错误膨胀类android.support.design.widget.CollapsingToolbarLayout。 我上周末更新了android工作室。 更新之前,它工作正常。 我更新之后,崩溃了。 但是,我试图降级到2.0.0版本,它不再工作。 我的同事与CollapsingToolbarLayout没有问题。 我不知道发生了什么事。 错误是: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.android/com.test.android.ui.activity.RandomActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.design.widget.CollapsingToolbarLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: android.view.InflateException: Binary XML file line #22: […]

如何使用新的devise支持库来实现底页23.2

谷歌发布新的更新支持库23.2,他们添加了底部表单function。 任何人都可以告诉如何使用该库实现底部工作表。

将BottomSheetDialogFragment的状态设置为展开

你如何设置扩展BottomSheetDialogFragment使用BottomSheetBehavior#setState(STATE_EXPANDED)使用Android支持devise库(v23.2.1)扩展的片段的状态? https://code.google.com/p/android/issues/detail?id=202396说: 底部图纸首先设置为STATE_COLLAPSED。 如果要扩展它,请调用BottomSheetBehavior#setState(STATE_EXPANDED)。 请注意,您无法在视图布局之前调用该方法。 build议的做法需要首先膨胀视图,但我不知道如何将BottomSheetBehaviour设置到一个片段( BottomSheetDialogFragment )。 View bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet); BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);

如何使用devise支持库以编程方式启用/禁用工具栏滚动

我使用支持devise库来显示/隐藏工具栏滚动里面的一个recyclerView片段,这里提到https://github.com/codepath/android_guides/wiki/Handling-Scrolls-with-CoordinatorLayout <?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" 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" tools:openDrawer="start"> <android.support.design.widget.CoordinatorLayout android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content" 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" app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/flContent" 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" /> </android.support.design.widget.CoordinatorLayout> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout> […]

如何在Google Play中启用水平滚动选项卡?

我在这里提到关于材料devise的一个很棒的演示 。 它有标签,但是当我添加太多的标签项目被挤压(见截图)。 我怎样才能让它水平滚动? 我相信下面是我应该做出改变的布局,但我梳理了文档,似乎无法得到它,请帮助! <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" 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.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:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways" /> <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/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="end|bottom" android:layout_margin="@dimen/fab_margin" android:src="@drawable/ic_done" /> </android.support.design.widget.CoordinatorLayout>

如何更改BottomSheetDialog的默认高度?

我一直在使用支持库23.2中添加的新的BottomSheetDialog,但是我想改变对话框的默认高度。 我知道它可能与控制初始高度的behavior_peekHeight属性有关,但是当我没有直接访问BottomSheetDialog时,如何在BottomSheetDialog设置它?

Android的recylerview v.23.2.0和devise库v.23.2.0被打破

在更新到v23.2.0之后,recyclerview项目有一些奇怪的现象:空间非常大。 更新到devise库23.2.0菜单溢出图标变成黑色(应用程序有黑色的动作栏)。 更新在我的联系5溢出图标和回收查看行是固定的,但在Galaxy Tab 4溢出图标仍然是黑色的。 更新2如果您有空间的问题,修复您的意见(match_parent – > wrap_content)的布局参数,导致RecyclerView现在将根据其内容的大小自己。 阅读这个博客http://android-developers.blogspot.am/2016/02/android-support-library-232.html RecyclerView小部件为创build列表和网格以及支持animation提供了先进而灵活的基础。 此版本为LayoutManager API带来了令人兴奋的新function:自动测量! 这允许RecyclerView根据其内容的大小自行resize。 这意味着以前不可用的scheme,例如对RecyclerView的维度使用WRAP_CONTENT,现在是可能的。 您会发现所有内置的LayoutManagers现在都支持自动测量。 由于此更改,请务必仔细检查项目视图的布局参数:以前忽略的布局参数(如滚动方向上的MATCH_PARENT)现在将得到充分的重视。 UPDATE 3链接到描述问题的问题,使用“操作栏”中的黑色图标问题201918 更新4看到我的答案后,图标问题也解决了