• 安卓中诡异的问题


    问题一:Android项目中requestfocus()失效的问题

    参考博客:http://blog.csdn.net/Greathfs/article/details/52141876

    原因

    查资料分析了一下,可能是以下问题: 
    Android加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。

    解决办法

    找到原因后就有解决办法了,给他个延迟时间:

            childLayout[i / numsPerPage].postDelayed(new Runnable() {
                @Override
                public void run() {
                    childLayout[i / numsPerPage].getChildAt(i % numsPerPage).requestFocus();
                }
            },10);

    问题二:getBackground().setAlpha 奇葩问题

    参考博客:http://blog.csdn.net/li4236/article/details/51077070

    使用这个是可以正常设置背影图片的透明度,但是莫名其妙的我使用onFocusChange来更改透明度出现莫名其妙的错误。

    原因:

      因为同一资源加载的实例都共享一个共用的状态,如果你更改一个实例的状态,其余的实例都会接收到相同的通知。

    解决办法

      加入mutate 让它们不要共享同一个状态

      

    viewitem.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    if(hasFocus){
                        //mImageView.setBackgroundResource(R.drawable.camera1_1);
                        mImageView.getBackground().mutate().setAlpha(255);
                        mTextView.setBackgroundColor(0xffffffff);
                    }
                    else{
                        //mImageView.setBackgroundResource(R.drawable.camera1_1);
                        mImageView.getBackground().mutate().setAlpha(100);
                        mTextView.setBackgroundColor(0x99ffffff);
                    }
                }
            });

    问题三:fragment中显示问题

    a),这里主要使用addToBackStack(null)添加到返回栈中,返回的时候逆序弹出显示。

      我这里实现的是一个视频显示的界面,于是在返回的时候,视频的部分界面消失,并且显示了主菜单的部分界面。这个问题困扰了我很久,最后只能先使用fragment更换时动画来缩小界面显示的时间。

    b),恢复fragment的时候,onResume的时候恢复。

  • 相关阅读:
    Noip2015总结
    BZOJ2457 BeiJing2011 双端队列
    Noip模拟考第三题——饥饿游戏
    HDU 2196 求树上所有点能到达的最远距离
    O(V*n)的多重背包问题
    Noip2008双栈排序
    USACO 4.1.2 栅栏的木料
    字符串专题
    网络流24题刷题记录
    解模线性方程组 非互质中国剩余定理
  • 原文地址:https://www.cnblogs.com/slothccc/p/6594523.html
Copyright © 2020-2023  润新知