当前位置:  编程技术>移动开发
本页文章导读:
    ▪依据TileMap坐标系统一设定ZOrder        根据TileMap坐标系统一设定ZOrder 游戏中,我们常常要处理场景中Sprite的前后遮挡关系。 以下公式根据TileMap坐标来动态计算ZOrder,来确保正确的遮挡关系。 为了计算的高效率,使用了位移来.........
    ▪ 4.2 锁屏小元件亮屏时不显示边框        4.2 锁屏小部件亮屏时不显示边框 注:谨以此文表达对某大企业鸡蛋里挑骨头的作风表示强列不满! 软件需求变更是常有的事,当然有些合理,有此不合理,如何判断就见仁见智了 先上图:.........
    ▪ 编辑In-App Purchases 无法显示有关问题的解决       编辑In-App Purchases 无法显示问题的解决 编辑In-App Purchases, 无法显示问题的解决a. 必须在upload binary file之前b. 如果没有出现的话,估计要删除ipa商品c. 重新填写一个商品d. 回到version detail查.........

[1]依据TileMap坐标系统一设定ZOrder
    来源: 互联网  发布时间: 2014-02-18
根据TileMap坐标系统一设定ZOrder

游戏中,我们常常要处理场景中Sprite的前后遮挡关系。

以下公式根据TileMap坐标来动态计算ZOrder,来确保正确的遮挡关系。

为了计算的高效率,使用了位移来代替乘法运算。

        // 最小左位移
        int shifting = 6;
        int height = map->getMapHeight();
        if (height > 512) {
            // 超过2^8
            shifting = 10;
        }else if (height > 256) {
            // 超过2^7
            shifting = 9;
        }else if (height > 128) {
            // 超过2^6
            shifting = 8;
        }else if (height > 64) {
            // 超过2^5
            shifting = 7;
        }
        // 根据TileMap坐标系来确定ZOrder
        _sprite->setZOrder((posTile.x + posTile.y) - (map->getMapWidth() << shifting));

 


    
[2] 4.2 锁屏小元件亮屏时不显示边框
    来源: 互联网  发布时间: 2014-02-18
4.2 锁屏小部件亮屏时不显示边框

注:谨以此文表达对某大企业鸡蛋里挑骨头的作风表示强列不满!

软件需求变更是常有的事,当然有些合理,有此不合理,如何判断就见仁见智了

先上图:



 

先说明下,这是android4.2锁屏的界面。左边是4.2的新特性,可以添加WIDGET。

问题:唤醒屏时不应该有这个显示

 

首先,了解下为什么会有“这个”显示

代码在:

frameworks/base/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java

    private Runnable mHideHintsRunnable = new Runnable() {
        @Override
        public void run() {
            if (mKeyguardWidgetPager != null) {
                mKeyguardWidgetPager.hideOutlinesAndSidePages();
            }
        }
    };

    public void showUsabilityHints() {
        mMainQueue.postDelayed( new Runnable() {
            @Override
            public void run() {
                mKeyguardSecurityContainer.showUsabilityHint();
            }
        } , SCREEN_ON_RING_HINT_DELAY);
        mKeyguardWidgetPager.showInitialPageHints();
        if (mHideHintsRunnable != null) {
            mMainQueue.postDelayed(mHideHintsRunnable, SCREEN_ON_RING_HINT_DELAY);//改嘛,就在这里,SCREEN_ON_RING_HINT_DELAY 改为 0
        }
    }

 

看下实现的流程:

mKeyguardWidgetPager.hideOutlinesAndSidePages()//要去找这里.

frameworks/base/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java

    void hideOutlinesAndSidePages() {
        animateOutlinesAndSidePages(false);
    }
    void animateOutlinesAndSidePages(final boolean show) {
        animateOutlinesAndSidePages(show, -1);
    }

void animateOutlinesAndSidePages(final boolean show, int duration) {
        if (mChildrenOutlineFadeAnimation != null) {
            mChildrenOutlineFadeAnimation.cancel();
            mChildrenOutlineFadeAnimation = null;
        }
        int count = getChildCount();
        PropertyValuesHolder alpha;
        ArrayList<Animator> anims = new ArrayList<Animator>();

        if (duration == -1) {
            duration = show ? CHILDREN_OUTLINE_FADE_IN_DURATION :
                CHILDREN_OUTLINE_FADE_OUT_DURATION;
        }

        int curPage = getNextPage();
        for (int i = 0; i < count; i++) {
            float finalContentAlpha;
            if (show) {
                finalContentAlpha = getAlphaForPage(mScreenCenter, i, true);
            } else if (!show && i == curPage) {
                finalContentAlpha = 1f;
            } else {
                finalContentAlpha = 0f;
            }
            KeyguardWidgetFrame child = getWidgetPageAt(i);

            alpha = PropertyValuesHolder.ofFloat("contentAlpha", finalContentAlpha);
            ObjectAnimator a = ObjectAnimator.ofPropertyValuesHolder(child, alpha);
            anims.add(a);

            float finalOutlineAlpha = show ? getOutlineAlphaForPage(mScreenCenter, i, true) : 0f;
            child.fadeFrame(this, show, finalOutlineAlpha, duration);
        }

        mChildrenOutlineFadeAnimation = new AnimatorSet();
        mChildrenOutlineFadeAnimation.playTogether(anims);

        mChildrenOutlineFadeAnimation.setDuration(duration);
        mChildrenOutlineFadeAnimation.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                if (show) {
                    enablePageContentLayers();
                }
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                if (!show) {
                    disablePageContentLayers();
                    KeyguardWidgetFrame frame = getWidgetPageAt(mWidgetToResetAfterFadeOut);
                    if (frame != null && !(frame == getWidgetPageAt(mCurrentPage) &&
                            mViewStateManager.isChallengeOverlapping())) {
                        frame.resetSize();
                    }
                    mWidgetToResetAfterFadeOut = -1;
                    mShowingInitialHints = false;
                }
                updateWidgetFramesImportantForAccessibility();
            }
        });
        mChildrenOutlineFadeAnimation.start();
    }

 

没什么特别的,就是改了下显示的时间,把延迟改为0。

是功能是BUG,大家一看就明了。

 

 


    
[3] 编辑In-App Purchases 无法显示有关问题的解决
    来源: 互联网  发布时间: 2014-02-18
编辑In-App Purchases 无法显示问题的解决
编辑In-App Purchases, 无法显示问题的解决
a. 必须在upload binary file之前
b. 如果没有出现的话,估计要删除ipa商品
c. 重新填写一个商品
d. 回到version detail查看,是否有In-app purchase购买的选项
f. 正常情况下会出现编辑In-App Purchases选择框,选中所有的商品,点击完成;
f. 设置成ready to upload binary file
g. 回到xcode打包验证后上传到appstore等待审核

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3