首页 > 解决方案 > 在android中扭曲视图

问题描述

我想在android中扭曲视图,

例如需要在屏幕顶部创建波浪,任何时候都可以将其转换为直线

或者

使用底部导航栏中的按钮在底部导航中创建波浪

请访问截图:

截图 1

截图 2

截图 3

标签: javaandroid

解决方案


这是根据材料 IO 的新设计。它在材料设计 2 中引入。您需要添加锚点才能使用该类型的视图。

有一些变化需要注意。

  • AppBar不是放在底部的BottomNavigatioView
  • 它可以用于多种用途,因此请明智地选择您的用途。
  • 您可以根据需要修改设计。

以下代码可用于实现该功能。

<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">

  <!-- Other components and views -->

  <com.google.android.material.bottomappbar.BottomAppBar
      android:id="@+id/bar"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom"
      app:navigationIcon="@drawable/ic_menu_24"/>

  <com.google.android.material.floatingactionbutton.FloatingActionButton
      android:id="@+id/fab"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      app:layout_anchor="@id/bar"/>

</android.support.design.widget.CoordinatorLayout>

FloatingActionButton可以通过BottomAppBar设置app:layout_anchor或调用锚定到CoordinatorLayout.LayoutParams#setAnchorId(int)

注意:这个东西是在Android P版本中引入的,你需要有Android studio 3.2或以上。

查看此链接以获取详细说明:

实现 BottomAppBar:Android 的 Material 组件


推荐阅读