仅以此文献给有缘人,欢迎评论区补充
RelativeLayout 如果高度设置为wrap_content,那么最后一个view margin_bottom 会失效(并不是必现,在17(4.2.2)上oppo 有复现),解决方案:修改RelativeLayout的高度为match_parent或者使用padding_bottom
画弧形 canvas.drawArc(mRectF,startAngle,endAngle,false,mArcPaint)
startAngle 起始角度,相对于三点钟水平线
endAngle 结束角度,相对于起始角度,即已起始角度开始扫描过 endAngle角度,不是相对于三点钟了
fragment dialog 全屏
try {
Window window = getDialog().getWindow();
ViewGroup.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.MATCH_PARENT;
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
}catch (Exception e){
e.printStackTrace();
}
gradle 升3.0+ 之后的问题
转自csdn 千雅爸爸
设置activity全屏在其 onCreate()方法中加入:
// 设置全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 去除标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
android studio 查看源码 stub ,删除掉C盘里的.AndroidStudio2.2\config\options 目录下的 jdk.table 文件然后重启as
scrollview 回弹效果
private static final int MAX_SCROLL = 200;
private static final float SCROLL_RATIO = 0.5f;// 阻尼系数
//竖向
@Override
protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
{
int newDeltaY = deltaY;
int delta = (int) (deltaY * SCROLL_RATIO);
if((scrollY+deltaY)==0 || (scrollY-scrollRangeY+deltaY)==0){
newDeltaY = deltaY; //回弹最后一次滚动,复位
}else{
newDeltaY = delta; //增加阻尼效果
}
return super.overScrollBy(deltaX, newDeltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, MAX_SCROLL, isTouchEvent);
}
//横向
@Override
protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
{
int newDeltaX = deltaX;
int delta = (int) (deltaX * SCROLL_RATIO);
if((scrollX+deltaX)==0 || (scrollX-scrollRangeX+deltaX)==0){
newDeltaX = deltaX; //回弹最后一次滚动,复位
}else{
newDeltaX = delta; //增加阻尼效果
}
return super.overScrollBy(newDeltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, MAX_SCROLL, maxOverScrollY, isTouchEvent);
}
event bus
注意要及时的注册与反注册
关于oppo 手机notifycation 不能实时更新的问题。
- 机型: oppo r9
- 日志: xxx is not standard notification,so we discard it! we statistic it also!(注意,这条日志并不是warn以上级别的,所以刚开始并没有找到,是一条debug 日志)
- 解决:我的是builder 没有设置ongoing 属性,设置成true就能用notify实时更新了(就是有一些他们封装的属性判断你没有设置)。
- 原因:自行领悟 ,然后开始是觉得他们对布局高度做了限制,改了布局高度,无效,然后就猜测他们是get了某些东西进行判断,之后就是一点一点试出来的,但是有一点很奇怪,在r7和r11上都是好用的,只有r9不行,链接里边说有r7,但是没碰到过。希望能帮到有缘人吧。
Failure [INSTALL_FAILED_TEST_ONLY] 解决
http://blog.csdn.net/chf1142152101/article/details/70738868
关于NDK 升级到16.*****版本之后 run app 显示 cpu arm*** 找不到,貌似是16 的写法变了,改成 NDK_TOOLCHAIN_VERSION :=
就ok 了
MediaPlayer 血坑,setloop 属性设置之后,不管开始还是没开始播放,islooping 都会返回true
mediaPlayer.setLooping(true) ;
if(!mediaPlayer.isLooping) {
mediaPlayer.start();
}
是不会执行的!!!!!! islooping 会返回true !!!
imageview 放在relativeLayout 里是无法大于父布局的宽高的,原因不详,但是换成其他的容器布局就可以了
preA 启动A, A启动B ,其中A启动B 的过程中看到了preA
原因: A activity 设置了android:windowIsTranslucent = true
的话, A -> B 的时候可能会看见A之前的activity
oppor11 对于Android studio 或者gradle 3.0 以上run 出现testonly 无法安装的情况 ,在gradle.properties 添加如下语句 android.injected.testOnly=false
, 附上原解链接, 亲测可用
关于Android TV 的,做了应用精简的TV版,除去用了新的support 库不说,遇到一个大坑
安装完应用之后没有应用图标,模拟器上有,测试设备(某视,某米)上死活没有,但是直接AS
run 还能跑起来。
1. 检查下manifest application是否配置了icon属性
2. 检查TV的 启动activity的action 配置,如果是 android:name="android.intent.category.LEANBACK_LAUNCHER"
,请尝试添加 android:name="android.intent.category.LAUNCHER"
,关于这两个的区别请自行百度,然后还有一个,请设置TV 应用最低兼容为 17 ,否则可能会出现安装包解析失败的问题。然后衷(mo)心(xin)感(huo)谢(huo)国内的Android TV 厂商,然我又一次成长了。
- Multiple entries with same key: @android:theme=REPLACE and android:theme=REPLACE.
tools:replace="android:label,android:allowBackup"
注意你的这行里是不是有 空格 , 尤其是在逗号中间