【问题标题】:Ripple effect on Toolbar cut off工具栏上的涟漪效应被切断
【发布时间】:2015-10-17 05:07:06
【问题描述】:

我在我的应用程序中使用Toolbar 并用菜单对其进行扩充。 我这里有个问题,因为涟漪效果会自动添加到按钮上,但最左边的按钮的涟漪效果会被菜单区域的边界截断。
您可以看到波纹扩大,但随后在左侧关闭。
知道如何解决这个问题吗?

【问题讨论】:

标签: android material-design android-toolbar


【解决方案1】:

最简单的方法是像简单视图一样在工具栏中添加按钮,例如:

<android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"> 

<ImageButton 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="ICON HERE"
        android:background="@null"/>

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

android:background="@null"

它将禁用按钮的波纹效果

【讨论】:

  • 这里的问题是我通过扩展菜单来添加这些按钮,而不是直接将它们添加到工具栏的布局中。
【解决方案2】:

我也遇到过这个,玩了之后发现我们自定义的ThemeOverlay有它的背景设置。

尝试从您的工具栏样式和主题中删除 android:background

见下文我注释掉了:&lt;item name="android:background"&gt;@color/toolbar&lt;/item&gt;。之后它按预期工作。

<style name="MyTheme.Overlay"
  parent="ThemeOverlay.AppCompat.Dark.ActionBar">
  <item name="android:textColorPrimary">@color/text_primary</item>
  <item name="android:textColorSecondary">@color/text_secondary</item>
  <item name="android:windowBackground">@color/background</item>

  <!--<item name="android:background">@color/toolbar</item>-->

  <!-- colorPrimary is used for the default action bar background -->
  <item name="colorPrimary">@color/toolbar</item>

  <!-- colorPrimaryDark is used for the status bar -->
  <item name="colorPrimaryDark">@color/toolbar</item>

  <!-- colorAccent is used as the default value for colorControlActivated,
     which is used to tint widgets -->
  <item name="colorAccent">@color/accent</item>

</style>

【讨论】:

  • Toolbar 中删除一个无用的android:background="@color/colorWhite" 对我有用。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
相关资源
最近更新 更多