Articles of android design library

SnackBar和fitsSystemWindow

我有一个使用fitsSystemWindows的应用程序能够在Navigation-和Status-Bar后面绘制背景 – 不幸的是,SnackBar似乎忽略了容器中的fitsSystemWindows = true。 我将问题归结为这个最小的应用程序: 样式: @color/accent_material_dark false true true 布局: 活动: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { Snackbar.make(v,”This Snackbar should fitSystemWindows”,Snackbar.LENGTH_INDEFINITE).show(); } }); } } 有人知道一些解决方法吗? 我发布了最小的应用程序来显示这里的问题: https : //github.com/ligi/SnackBarFitsSystemWindowProblem

Android SnackBar:错误膨胀SnackbarLayout

我想从Google提供的官方设计库中试用新的Snackbar。 它的使用非常接近Toast所以我认为它很容易尝试。 我已经在运行5.1的模拟器以及运行5.0的三星Galaxy S6 Edge上尝试过。 我的问题是当应用程序显示Snackbar时应用程序崩溃。 码 package com.jayway.andreas.test; import android.app.Activity; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(v, R.string.test, Snackbar.LENGTH_LONG) .setAction(“Action!”, new View.OnClickListener() { @Override public void onClick(View v) { // NOP […]

设计支持库 – SDK v21使用的版本

我有问题了解支持库的版本方案以及何时使用哪个版本。 目前我有一个使用compileSdkVersion 21 , minSdkVersion 21和targetSdkVersion 21的项目,并希望使用android设计支持库。 当我使用com.android.support:design:22.2.0 ,项目编译但我收到了Gradle警告: “This support library should not use a different version (22) than the `compileSdkVersion` (21)”. 当我使用com.android.support:design:23.0.1我得到一些编译错误,如: “Error:(2) Error retrieving parent for item: No resource found that matches the given name ‘android:TextAppearance.Material.Widget.Button.Inverse’. 我认为只要compileSdkVersion更低或相等,我总是可以使用支持库的最高版本,但这似乎是错误的。 在针对API级别21进行编译时,我可以使用设计支持库吗?

NestedScroll中的可点击CardView不会触发滚动

我有一个带有CoordinatorLayout,AppBarLayout和NestedScrollView的布局,在NestedScrollView中我有多个CardViews,一切正常,直到我将CardViews设置为可点击,然后如果我在CardView中开始滚动,则滚动不起作用。 这是我的布局: …

CollapsingToolbarLayout | 滚动和布局问题2

相关问题 CollapsingToolbarLayout | 滚动和布局问题 研究背景 我想使用2个不同的片段,这些片段允许我根据方向和屏幕大小更改布局 标题图像 (目前只是一个ImageView ) 可滚动内容 问题 CollapsingToolbarLayout不允许我展开Toolbar以查看完整的 Header Image 它显示了大部分图像,但不是全部。 Top被切割,但底部是可见的。 Toolbar设置为Pin但滚动时隐藏 只是Header Image应该消失,但我的整个Appbar被隐藏了 滚动查看Expanded Toolbar会有一个空视图,直到Expanded Toolbar达到其最大高度。 Expanded Toolbar和Toolbar本身都被隐藏后 Up Arrow不会显示在Toolbar 码 Layout.xml <fragment android:id="@+id/detail" android:name=".” android:layout_width=”match_parent” android:layout_height=”match_parent” /> 在OnCreate @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); final Toolbar toolbar = (Toolbar) findViewById(R.id.anim_toolbar); setSupportActionBar(toolbar); CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); […]

两个活动之间的Android共享元素转换不起作用

在我的应用程序中,我正在尝试使用新引入的活动之间的元素共享。 如果共享元素具有固定位置(例如android:layout_gravity=”top” ),那么一切都像魅力一样,但问题在视图锚android:layout_gravity=”top”出现。 我的第一个活动看起来像这样: … 我的第二项活动是这样的 … … 我使用的代码如下: Intent intent = …; ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, view, “fab_button”); startActivity(intent, options.toBundle()); 如果我使用layout_anchor和layout_anchorGravity属性,则两个FAB之间的转换不会animation完成。 如果第二个FAB具有固定位置,则它可以完美地工作。 我究竟做错了什么?

我如何多线化CollapsingToolbarLayout的扩展标题?

我的问题是下一个问题。 我会使用相对较大的文本作为CollapsingToolbarLayout标题,所以我需要将其显示为多行模式。 当我尝试通过setExpandedTitleTextAppearance()方法更改文本外观时,它不起作用。 我使用的代码是下一个: 48sp #ffffff @android:color/white false 3 4 5 我想在多行上看到标题,而不是显示省略号。

支持库中的Snackbar不包含OnDismissListener()?

我想在最新的设计支持库中实现新的Snackbar,但是它的提供方式对我来说似乎是违反直觉的,而且我认为很多其他人使用它。 当用户执行重要操作时,我想允许他们通过Snackbar撤消它,但似乎没有办法检测它何时被解除以执行操作。 我可以通过以下方式进行操作: 用户采取行动。 显示Snackbar并更新UI,就像操作已完成一样(即看起来数据已发送到数据库,但实际上还没有)。 如果用户按下“撤消”,则还原UI更改。 如果没有,当Snackbar被解散时,它将发送数据。 但是因为我没有看到任何可访问的OnDismissListener,所以我必须: 用户采取行动。 立即将信息发送到数据库并更新UI。 如果用户按下“撤消”,则向数据库发送另一个调用以删除刚刚添加的数据并恢复UI更改。 我真的想避免必须对数据库进行两次调用,只需在应用程序知道它是安全的时候发送一个(用户已经避免按“撤消”)。 我注意到通过EventListener在第三方库中实现了这一点,但我真的很想坚持使用Google库。

自定义NavigationView – 添加动态headerView,Android支持设计库

我尝试了新的android支持设计库中的navigationView。 我想要一个动态的headerview。 基本上,我的标题视图将显示类似当天的报价。 我喜欢大约10个引号,我想随机选择一个引用并在headerView的textview中显示。 我还想为headerView添加onClick方法。 现在,我没有看到任何以编程方式更改headerview布局的可能性。 有任何建议来实现吗?

CoordinatorLayout中的WebView与CollapsingToolbarLayout

我想在CoordinatorLayout中添加一个WebView,在AppBarLayout中有CollapsingToolbarLayout。 问题是WebView的高度会缩小,并且不会填充工具栏下方的空间,使其无法使用。 我还尝试使用WebView作为NestedScrollView的子代:最初它不起作用(它缩小我的WebView的高度),但滚动缩小的WebView使其填充视口。 这是我使用的布局: