最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自定義view仿QQ的Tab按鈕動(dòng)畫效果(示例代碼)

 更新時(shí)間:2021年01月24日 14:50:42   作者:曉夢千年  
這篇文章主要介紹了Android自定義view仿QQ的Tab按鈕動(dòng)畫效果(示例代碼),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下

話不多說 先上效果圖

實(shí)現(xiàn)其實(shí)很簡單,先用兩張圖

一張是背景的圖,一張是笑臉的圖片,笑臉的圖片是白色,可能看不出來。實(shí)現(xiàn)思路:主要是再觸摸view的時(shí)候同時(shí)移動(dòng)這兩個(gè)圖片,但是移動(dòng)的距離不一樣,造成的錯(cuò)位感,代碼很簡單:

import android.content.Context
import android.graphics.*
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import com.example.dawnmvvm.R
import com.example.dawnmvvm.util.LogUtil
 
class MyDrawBitmap @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0) : View(context, attrs, defStyleAttr, defStyleRes) {
 private var dx = 0f
 private var dy = 0f
 private var dx1 =0f
 private var dy1 = 0f
 private val bitmap: Bitmap by lazy {
  BitmapFactory.decodeResource(resources, R.drawable.bg_tab);//背景
 }
 private val bitmap2: Bitmap by lazy {
  BitmapFactory.decodeResource(resources, R.drawable.img_smile);//笑臉
 }
 
 override fun draw(canvas: Canvas?) {
  super.draw(canvas)
 
  LogUtil.e("MyDrawBitmap===x===${dx}")
  LogUtil.e("MyDrawBitmap===y===${dy}")
  if(dx<0){
   dx=0f
  }
  if(dy<0){
   dy=0f;
  }
 
  canvas?.drawBitmap(bitmap, dx, dy, null);//移動(dòng)背景
  canvas?.drawBitmap(bitmap2, dx1, dy1, null);//移動(dòng)笑臉
 }
 
 override fun onTouchEvent(event: MotionEvent): Boolean {
 
  when (event.action) {
 
   MotionEvent.ACTION_UP-> {
 
    dx = 0f
    dy = 0f
    dx1 = 0f
    dy1 = 0f
   }
   else->{
    dx = event.x/20f
    dy = event.y/20f
    dx1 = event.x/10f
    dy1 = event.y/10f
   }
 
  }
  invalidate()
 
  return true;
 }
 
}

是不是很簡單,不過不是很完美

到此這篇關(guān)于Android自定義view仿QQ的Tab按鈕動(dòng)效效果(示例代碼)的文章就介紹到這了,更多相關(guān)Android仿QQ的Tab按鈕動(dòng)效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

吐鲁番市| 舒兰市| 友谊县| 砀山县| 姚安县| 扶沟县| 广灵县| 天水市| 九龙县| 读书| 绿春县| 双辽市| 武城县| 察雅县| 日照市| 濮阳县| 深水埗区| 芜湖县| 勃利县| 肃南| 兴业县| 瑞金市| 建始县| 青川县| 枞阳县| 洮南市| 搜索| 正安县| 安徽省| 青海省| 平远县| 金昌市| 长丰县| 普宁市| 玉门市| 郧西县| 宜州市| 景宁| 芮城县| 苏尼特左旗| 丁青县|