Android

作者: Lonie233 | 来源:发表于2017-03-09 22:34 被阅读63次

    仅以此文献给有缘人,欢迎评论区补充


    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 厂商,然我又一次成长了。

    1. Multiple entries with same key: @android:theme=REPLACE and android:theme=REPLACE.
    tools:replace="android:label,android:allowBackup"
    

    注意你的这行里是不是有 空格 , 尤其是在逗号中间

    相关文章

      网友评论

          本文标题:Android

          本文链接:https://www.haomeiwen.com/subject/kxevittx.html