安卓小紅書登入背景迴圈滾動

2021-10-09 09:06:33 字數 2490 閱讀 6246

直接上**正文

我這裡是通過自定義的framelayout來實現背景的滾動

import android.content.context;

import android.content.res.typedarray;

import android.graphics.bitmap;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.matrix;

import android.graphics.paint;

import android.graphics.drawable.bitmapdrawable;

import android.graphics.drawable.drawable;

import android.util.attributeset;

import android.widget.framelayout;

import com.ylean.soft.lfd.r;

public class srcscrollframelayout extends framelayout

public srcscrollframelayout( context context, attributeset attrs)

public srcscrollframelayout( context context, attributeset attrs, int defstyleattr)

@override

protected void onsizechanged(int w, int h, int oldw, int oldh)

if (getvisibility() == gone)

if (w == 0 || h == 0)

if (msrcbitmap == null) }}

@override

protected void ondraw(canvas canvas)

if (msrcbitmap.getheight() + mpandistance != 0)

if (msrcbitmap.getheight() + mpandistance < getmeasuredheight())

}//繪製遮罩層

if (mmasklayercolor != color.transparent)

//延時重繪實現滾動效果

if (misscroll)

}/**

* 重繪

*/private runnable mredrawrunnable = new runnable()

mpandistance = mpandistance - mintervalincreasedistance;

invalidate();}};

/*** 開始滾動

*/public void startscroll()

misscroll = true;

gethandler().postdelayed(mredrawrunnable, default_draw_intervals_time);

}/**

* 停止滾動

*/public void stopscroll()

misscroll = false;

gethandler().removecallbacks(mredrawrunnable);

}/**

* 設定背景圖 bitmap

* 通過該方法設定的背景圖,當 螢幕翻轉/暗黑模式切換 等涉及到 activity 重構的情況出現時,需要在 activity 重構後重新設定背景圖

*/public void setsrcbitmap(bitmap srcbitmap)

//按當前view寬度比例縮放 bitmap

msrcbitmap = scalebitmap(srcbitmap, getmeasuredwidth());

//計算至少需要幾個 bitmap 才能填滿當前 view

mbitmapcount = getmeasuredheight() / msrcbitmap.getheight() + 1;

if (!srcbitmap.isrecycled())

if (oldscrollstatus)

}/**

* 縮放bitmap

*/private bitmap scalebitmap(bitmap originbitmap, int newwidth)

}

需要用到的style屬性

在布局檔案中直接這樣寫就可以

原始碼位址

安卓登入介面

首先這個登入介面是別人幫忙讓做的,但我之前並沒有接觸過這一塊,與其說是讓我幫忙,其實是他在教我或者督促我學更多一點,在此感謝 中要用到的素材在 不同的drawable xx只是表示解析度不同,呼叫的時候可以直接android background drawable 檔名 即可。以下是login.xm...

安卓 背景顏色設定問題

設定透明度 這是窗體本身的透明度,非背景 windowmanager.layoutparams lp getwindow getattributes lp.alpha 0.3f getwindow setattributes lp alpha在0.0f到1.0f之間。1.0完全不透明,0.0f完全透...

安卓手機全域性背景美化教程

驗證不可行,修改系統apk的androidmanifest.xml後,應用會失效 全域性背景其實並不要完善,很多地方還是黑的,麥兜將會在將來的教程中間一一消滅他們。閒話少說,進入正題。這次的教程要求需要會用apktool並且會對apk進行簽名,因為要修改androidmanifest.xml.修改分...