最新消息:欢迎访问Android开发中文站!商务联系微信:loading_in

设置点击效果foreground

新手入门 loading 3551浏览 0评论

android:foreground

最近一段时间研究了一下plaid,想学习一下material design。 这里记录一下view的backgroundforeground。 平时的话我们设置点击效果,为了简便,大多数人应该都会使用

<br />android:background="@drawable/selecterDrawable"<br />//或是<br />android:background="?selectableItemBackground"<br />

但是相信都注意到一个情况,就是在有ImageView的时候,点击效果无法渲染在ImageView上面 在看plaid和medium app的时候发现它们的点击效果就很好,看了plaid的xml发现是设置了foreground 所以奥秘就在这里,以后设置点击效果的话可以设置foreground

<br />android:foreground="@drawable/middle_grey"<br />android:padding="@dimen/activity_vertical_margin"<br />android:stateListAnimator="@animator/anim_rise"&gt;<br /><br />&lt;android.support.v7.widget.AppCompatImageView<br /><br />android:layout_width="100dp"<br />android:layout_height="100dp"<br />android:layout_gravity="center_vertical"<br />android:layout_marginLeft="50dp"<br />android:scaleType="fitCenter"<br />app:srcCompat="@drawable/image"/&gt;<br /><br />&lt;TextView&gt;<br /><br />android:layout_width="wrap_content"<br />android:layout_height="wrap_content"<br />android:layout_gravity="center_vertical|right"<br />android:text="foreground"/&gt;<br /><br />&lt;/FrameLayout&gt;<br /><br />

因为api 21以上才能使用ripple效果,所以最好区分以下 api21以下的middle_grey及效果

<br /><br />&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;<br />&lt;item android:state_pressed="false"&gt;<br /><%%KEEPWHITESPACE%%>     &lt;color android:color="@android:color/transparent"/&gt;<br />&lt;/item&gt;<br />&lt;item android:state_pressed="true"&gt;<br /><%%KEEPWHITESPACE%%>     &lt;color android:color="@color/mid_grey"/&gt;<br />&lt;/item&gt;<br />&lt;/selector&gt;<br /><br />

<21

api21以上的middle_grey

<br /><br />&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;ripple xmlns:android="http://schemas.android.com/apk/res/android"<br /><%%KEEPWHITESPACE%%>     android:color="@color/mid_grey"&gt;<br />&lt;/ripple&gt;<br /><br />

21以上 可以看出效果要好很多 限制: 想要确保有以上效果需要注意几点

  1. 确保view是可以点击的(即有click事件或者clickable=”true”)
  2. 确保安卓版本在6.0(M)及以上或者以FrameLayout本身及其子类作为容器

附赠:

AS快速导航menu的icon

icon其实平时一直都没注意过,后来fork了这个项目的时候突然出现了一个小图标,才发现这一点,感觉挺不错的。 讲一下怎么简单设置icon change_icon在项目上右键,点击Change Icon选择自己的icon就好了

GIPHY CAPTURE : 录屏 GIF

推荐一下这款mac上的录屏软件,非常实用而且颜值蛮高,个人觉得比LICEcap更好。 录制完成之后,你能简单剪辑 GIF 和选择播放速度、大小。 可以看这里了解更多

转载请注明:Android开发中文站 » 设置点击效果foreground

您必须 登录 才能发表评论!