2014-09-10 23 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(); 
    } 
} 
相關問題