多渠道打包
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
));
}
}
});
}