项目布局常用

多渠道打包
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 void setTranslucentStatus( boolean on) {
if (Build.VERSION. SDK_INT >= Build.VERSION_CODES. KITKAT ) {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams. FLAG_TRANSLUCENT_STATUS ;
if (on) {
winParams. flags |= bits;
} else {
winParams. flags &= ~bits;
}
win.setAttributes(winParams);
}
}

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


渐进式加载

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

@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy //每次滑动的距离) {
初始化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 );
float scale = ( float ) totalDy / banheight ;
float alpha = ( 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 ));
}
}
});
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值