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

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",都不行

迷茫
迷茫

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

répondre à tous(3)
小葫芦

@erehmi Si l'image est au format jpg, il semble inutile de définir l'arrière-plan.

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

Matériel pour l'article et le boutonRipper Drawable :

<style name="Theme.Material">
    ...
    <item name="selectableItemBackground">@drawable/item_background_material</item>
    <item name="selectableItemBackgroundBorderless">@drawable/item_background_borderless_material</item>
    <item name="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">
    <élément android:id="@id/mask">
        <couleur android:color="@color/white" />
    </article>
</ondulation>

以下为item_background_borderless_material.xml :

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

Il s'agit de Widget.Material.Button.Borderless et de xml :

<!-- Bouton d'encre sans bordure -->
<style name="Widget.Material.Button.Borderless">
    <item name="background">@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">
    <élément android:id="@id/mask"
          android:drawable="@drawable/btn_default_mtrl_shape" />
</ondulation>

引用如下 :

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

ImageView :

<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 : cliquable =" true » android:background="?android:attr/selectableItemBackground" app:srcCompat="@mipmap/ic_launcher" />

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

你要用这些个酷炫的东西是有代价的, Android 5.0 (API niveau 21),不支持的.

黄舟

Vous pouvez écrire une vue personnalisée qui hérite d'ImageView. Ensuite, vous pouvez démarrer un animateur dans onTouchEvent et dessiner un cercle avec un rayon augmentant progressivement. Faites-le vous-même et ayez suffisamment de nourriture et de vêtements. Un autre avantage d’écrire de cette façon est qu’il n’y a pas de limite de version et qu’elle peut être utilisée si elle est inférieure à 5.0.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal