2014-09-10 38 views
0

我想成为我的相机屏幕只有肖像模式,不允许横向模式。 还有,我想在全屏模式下进行拍照。 如谷歌应用相机我不能调整我的frameLayout

我指开源QUICK SNAP http://s.ppomppu.co.kr/?idno=developer_6022&target=https://github.com/lightbox/QuickSnap

第一,我保持在的onCreate setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)在java代码人像模式;

和,我可以看到portait模式,但它不是全尺寸屏幕。 我试图强制framelayout但它不起作用... 我如何处理framelayout大小或如何使全尺寸? 帮我请..... .....

这里是我的代码和图片 http://blog.naver.com/sss8902/220118016613

回答

0
protected void onLayout(boolean changed, int l, int t, int r, int b) {  
    int frameWidth = getWidth(); 
    int frameHeight = getHeight(); 

    FrameLayout f = mFrame; 
    int horizontalPadding = f.getPaddingLeft() + f.getPaddingRight(); //수평여백 
    int verticalPadding = f.getPaddingBottom() + f.getPaddingTop(); // 수직여백. 
    int previewHeight = frameHeight - verticalPadding; 
    int previewWidth = frameWidth - horizontalPadding;*/ 
    int previewHeight = frameHeight; 
    int previewWidth = frameWidth; 

    // resize frame and preview for aspect ratio 
    if (previewWidth > previewHeight * mAspectRatio) { 
     previewWidth = (int) (previewHeight * mAspectRatio + .5); 
    } else { 
     previewHeight = (int) (previewWidth/mAspectRatio + .5); 
    }*/ 

    frameWidth = previewWidth + horizontalPadding; 
    frameHeight = previewHeight + verticalPadding; 

    int hSpace = ((r - l) - frameWidth)/2; 
    int vSpace = ((b - t) - frameHeight)/2; 
    mFrame.measure(
      MeasureSpec.makeMeasureSpec(frameWidth, MeasureSpec.EXACTLY), 
      MeasureSpec.makeMeasureSpec(frameHeight, MeasureSpec.EXACTLY)); 
    mFrame.layout(l + hSpace, t + vSpace, r - hSpace, b - vSpace); 
    if (mSizeListener != null) { 
     mSizeListener.onSizeChanged(); 
    } 
} 
相关问题