android - 如何给Imageview 设置水波纹效果?
迷茫
迷茫 2017-04-18 09:03:44
0
3
757

btn_ripple_mask.xml

<?xml version="1.0" encoding="utf-8"?>
<ripple
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:color="@android:color/darker_gray"><!--点击之后的颜色 必须要-->
  <item
    android:id="@android:id/mask"
    android:drawable="@android:color/white"/>
</ripple>

设置 android:foreground="@drawable/btn_ripple_mask"android:background="@drawable/btn_ripple_mask",都不行

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(3)
小葫芦

@erehmi Jika gambar dalam format jpg, nampaknya tidak berguna untuk menetapkan latar belakang boleh

<ImageView
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:layout_marginTop="10dp"
    android:clickable="true"
    android:foreground="?android:attr/selectableItemBackground"
    app:srcCompat="@mipmap/ic_launcher"/>
大家讲道理

以下为官方Meterial样式下的列表Item和Button预设的Ripper Drawable:

<style name="Theme.Material">
    ...
    <item name="selectableItemBackground">@drawable/item_background_material</item>
    <nama item="selectableItemBackgroundBorderless">@drawable/item_background_borderless_material</item>
    <nama item="borderlessButtonStyle">@style/Widget.Material.Button.Borderless</item>

以下为item_background_material.xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?attr/colorControlHighlight">
    <item android:id="@id/mask">
        <warna android:color="@color/white" />
    </item>
</riak>

以下为item_background_borderless_material.xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?attr/colorControlHighlight" />

以下为Widget.Material.Button.Borderless对应的设置和xml:

<!-- Butang dakwat tanpa sempadan -->
<style name="Widget.Material.Button.Borderless">
    <nama item="latar belakang">@drawable/btn_borderless_material</item>
    <item name="stateListAnimator">@null</item>
</style>

<!-- btn_borderless_material.xml -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?attr/colorControlHighlight">
    <item android:id="@id/mask"
          android:drawable="@drawable/btn_default_mtrl_shape" />
</riak>

引用如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    android:background="?android:attr/selectableItemBackground">

Paparan Imej设置如下:

<ImageView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:background="?android:attr/selectableItemBackground"
    app:srcCompat="@mipmap/ic_launcher" />

注意: 一定要设置 android:clickable="true" 或者 通过代码设置 setOnClickListener(...) .

你要用这些个酷炫的东西是有代价的, 就是你的设备必须是Android 5.0 (API tahap 21),低于这个版本的机器是不支持的.

黄舟

Anda boleh menulis Paparan tersuai yang diwarisi daripada ImageView. Kemudian anda boleh memulakan Animator dalam onTouchEvent dan melukis bulatan dengan jejari yang semakin meningkat. Lakukan sendiri dan cukupkan makanan dan pakaian. Satu lagi kelebihan menulis dengan cara ini ialah tiada sekatan versi, dan ia boleh digunakan jika lebih rendah daripada 5.0.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan