项目布局常用

来源:互联网 发布:旗鱼网络加速器 编辑:程序博客网 时间:2024/05/19 03:27
多渠道打包
android下直接拷贝
flavorDimensions"versionCode"
aaptOptions.cruncherEnabled =false
aaptOptions.useNewCruncher =false
productFlavors {
kuan {
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"kuan"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"xiaomi"]
}
qh360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"qh360"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"baidu"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE:"wandoujia"]
}
}
}

沉浸式
setTranslucentStatus(true);
protected voidsetTranslucentStatus(booleanon) {
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT) {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final intbits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if(on) {
winParams.flags|= bits;
}else{
winParams.flags&= ~bits;
}
win.setAttributes(winParams);
}
}

侧滑退出
直接粘类 在Activity中实现下列代码
SlidingLayout rootView =newSlidingLayout(this);
rootView.bindActivity(this);

http://www.jianshu.com/p/752a9a1fe973

渐进式加载
https://www.2cto.com/kf/201711/697355.html

我用的Xbanner,也可以获得其他空间高
//获得控件的高
ViewTreeObserver vto =xban.getViewTreeObserver();
vto.addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener() {
@Override
public voidonGlobalLayout() {
xban.getViewTreeObserver().removeOnGlobalLayoutListener(this);
banheight= xban.getHeight();
}
});
recycleview的滑动监听事件
rcv.addOnScrollListener(newRecyclerView.OnScrollListener() {
private inttotalDy= 0;

@Override
public voidonScrolled(RecyclerView recyclerView,intdx, intdy //每次滑动的距离) {
初始化int值totalDy 记录每次滑动的高度
totalDy+= dy;
如果滑动高度=0,意思是不画,则文字隐藏,布局透明
if(totalDy<= 0) {
tvChoice.setVisibility(View.GONE);
toptoolbar.setBackgroundColor(Color.argb((int)0,227,29,26));//AGB由相关工具获得,或者美工提供
如果滑动高度>0,则文字显现,布局渐变加载
}else if(totalDy> 0 && totalDy<= banheight) {
tvChoice.setVisibility(View.VISIBLE);
floatscale = (float)totalDy/ banheight;
floatalpha = (255* scale);
// 只是layout背景透明
toptoolbar.setBackgroundColor(Color.argb((int) alpha, 227,29,26));
}else{
文字显现,布局变为需求颜色
tvChoice.setVisibility(View.VISIBLE);
toptoolbar.setBackgroundColor(Color.argb((int)255,227,29,26));
}
}
});
}
原创粉丝点击