加载中
July4th 2014/03/12 18:36 回答了问题: android横屏imageview大小不变的问题
我在下面的评论中跟新了一下。谢谢了
@July4th
大家好: 我有个问题:就是横屏之后有的手机只有第一帧是充满layout,之后的就不行了,不知为什么? 环境:and...
July4th 2014/03/12 18:35 回答了问题: android横屏imageview大小不变的问题

大家好:

我有个问题:就是横屏之后有的手机只有第一帧是充满layout,之后的就不行了,不知为什么?

环境:android开发 ,真机调试,

要求:视频支持横竖屏的切换。

//新建一个 layout,并布局。

m_iVideoLayout = new AbsoluteLayout(this.getContext());
        m_iVideoBaseLayout.addView(m_iVideoLayout, new AbsoluteLayout.LayoutParams(iVideoImageWidth, iVideoImageHeigt, 0, (iVideoAreaHeight-iVideoImageHeigt)/2 + iTitleAreaHeight ));

//新建一个imageview,并布局

m_iImageView = new ImageView(this.getContext());
        m_iVideoLayout.addView(m_iImageView, new AbsoluteLayout.LayoutParams(m_iVideoLayout.getLayoutParams()));

//实现重力感应监听器 ,监听横竖屏

private void sensorListener(){
        
        // 得到当前手机传感器管理对象
        sensorMgr = (SensorManager) this.GetActivity().getSystemService(this.getContext().SENSOR_SERVICE);
        sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
        lsn = new SensorEventListener() {
            public void onSensorChanged(SensorEvent e) {
                sensorx = e.values[SensorManager.DATA_X];
                sensory = e.values[SensorManager.DATA_Y];
                sensorz = e.values[SensorManager.DATA_Z];
                // 在标题处显示出来
                RotatingResponse(sensorx);
            }

            public void onAccuracyChanged(Sensor s, int accuracy) {
            }

            
        };
        sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_UI);
        
    }
    
    //监听到x的值后,响应
    //set the layout rotating
    private void RotatingResponse(float sensorx2){
        //m_iVideoBaseLayout
        final float centerX = m_iVideoLayout.getWidth() / 2.0f;
        final float centerY = m_iVideoLayout.getHeight() / 2.0f;
        RotateAnimation rotateAnimation = new RotateAnimation(0, 90, centerX,
          centerY);
        rotateAnimation.setDuration(0);
        rotateAnimation.setFillAfter(true);
        int width = iVideoAreaWidth;
        int height = iVideoAreaHeight;
        int x = 0;
        int y = 0;
        if(width*4/3 > height){//这是长宽比:4:3
            height = iVideoAreaHeight;
            width = iVideoAreaHeight*3/4;
            x = (iVideoAreaWidth - width)/2;
        }else{
            width = iVideoAreaWidth;
            height = width*4/3;
            y = (iVideoAreaHeight - height)/2;
        
        }
        if(sensorx2 > 6.0 && rotNumber == 0){
            rotNumber = 1;//横竖屏的flag
            AbsoluteLayout.LayoutParams params = (LayoutParams) m_iVideoLayout.getLayoutParams();
            params.width = height;
            params.height = width;
            params.y = GlobalDefine.GetYScale(78)+y;
            params.x = x;
            m_iVideoLayout.setLayoutParams(params);//重新对layout布局
            m_iVideoLayout.startAnimation(rotateAnimation);//layout转90度
        }else if(sensorx2 < 4.0 && rotNumber == 1){
            rotNumber = 0;
            AbsoluteLayout.LayoutParams params = (LayoutParams) m_iVideoLayout.getLayoutParams();
            params.width = iVideoAreaWidth;
            params.height = iVideoAreaWidth;
            params.y = (iVideoAreaHeight-iVideoImageHeigt)/2 +  GlobalDefine.GetYScale(78);
            params.x = 0;
            m_iVideoLayout.setLayoutParams(params);
            m_iVideoLayout.startAnimation(new RotateAnimation(0, 0,centerX,centerY));
        }    
    }

小米 1s测试:手机横屏后第一帧,是要求的大小,但是后来就不行了,还是竖屏的大小,仅仅转了90度。

小米2s测试:一切正常横屏之后就是 想要的4:3比例(竖屏1:1)

谢谢先啊!


@July4th
大家好: 我有个问题:就是横屏之后有的手机只有第一帧是充满layout,之后的就不行了,不知为什么? 环境:and...
July4th 2014/03/12 18:32 回答了问题: android横屏imageview大小不变的问题
现在不能编辑了
@July4th
大家好: 我有个问题:就是横屏之后有的手机只有第一帧是充满layout,之后的就不行了,不知为什么? 环境:and...
July4th 2014/03/12 18:13 评论了动弹:
可以让连个囚犯先过去吗。这样的话没有看守可以给你杀啊。
@IceRainYWC
囚犯过河问题,大家有什么见解? 有三个看守和三个囚犯要过河,有一条船,船上一次只能载2个人。船上和岸上都不能出现囚犯多于看守的情况,否则看守会被干掉。问用什么方法可以让大家安全过河。
July4th 2014/02/28 14:41 评论了博客:求助?编译脚本,这个该怎么搞?
有看实时流的
@蜗牛会飞up
configure-iphone: DEVPATH is not specified, using /Applic...
July4th 2014/02/25 21:39 评论了博客:求助?编译脚本,这个该怎么搞?
也不是,我在修改一个老的项目用到,谢谢了。我试试。
@蜗牛会飞up
configure-iphone: DEVPATH is not specified, using /Applic...
July4th 2014/02/25 20:57 评论了博客:求助?编译脚本,这个该怎么搞?
hello。你是怎么搞定的啊。我遇到同样问题了。谢谢先
@蜗牛会飞up
configure-iphone: DEVPATH is not specified, using /Applic...
July4th 2013/09/27 17:42 评论了博客:javascript读写文件(支持firefox和IE)
"netscape.security.PrivilegeManager" undefined
How can I define it?
@gerroy
function read(path) { var content = ""; try{ var fso = ne...
July4th 2013/08/22 20:20 回答了问题: 不能执行已释放的script代码
怎么解决 怎样避免啊。就IE会这样 别的浏览器还是正常的
@July4th
使用frameset框架 用IE访问一次没有问题 刷新报错 “不能执行已释放的script代码” 其他浏览器没问题 求解
July4th 2013/08/21 21:23 回答了问题: frame 怎么共享jquery库
这话什么意思,不能实现我的问题
@July4th
有a.html页面 在其head中加 <script type="text/javascript" src="/j...
July4th 2013/08/21 17:40 回答了问题: frame 怎么共享jquery库
要不,你试试
@July4th
有a.html页面 在其head中加 <script type="text/javascript" src="/j...
July4th 2013/08/21 17:19 发布了问题:

没有更多内容

加载失败,请刷新页面

返回顶部
顶部