直接上**正文
我這裡是通過自定義的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.修改分...