[問題] 請問將系統相機內嵌到 Fragment Tab 中
我是剛入門的新手,有些觀念還不成熟,請大家多多指教
目前想要在已經使用 Fragment 做好的 Tab 分頁中
嵌入系統內建相機 或是 自訂的相機 Activity
但仍保留下面的 Tab 功能
因為目前直接使用 startActivityForResult() 開啟其他 Activity
都會直接全螢幕顯示,沒辦法使用下面的 Tab 切換頁面
找了很久一直找不到好的方法
請問各為有經驗的版友,是否有什麼方法或建議可以實現此功能呢?
或是可以讓下面的 Tab 能一直顯示在最上層?
謝謝 Or2...
===================================================================
最後我有想到一個可以塞進去的方法,給大家參考
(但是會有相對應的問題產生,詳見最後)
<1> 原本使用 startActivityForResult() 開啟的方式取消
改成建立物件的方式
在 onCreateView() 中
mContainer = (RelativeLayout) mView.findViewById(R.id.cameraContent);
mCameraView = new CameraView(mContainer, mCallBackCam);
-- mView: 該 Tab 的 layout
-- mContainer: 預留給擺 CameraView 的 RelativeLayout
-- mCameraView: CameraView 物件
-- mCallBackCam: 用來連結拍完照執行原本的 onResultActivity()
並在觸發的按鈕改成
mCameraView.startCamera();
mContainer.setVisibility(View.VISIBLE);
<2> 將原本繼承 Activity 改成繼承 View,將 Camera 建立在該 View 裡面
Constructer 要改成
public CameraView(ViewGroup vg, camCustomCallback callback)
{
...
mView = LayoutInflater.from(vg.getContext())
.inflate(R.layout.camera, null);
vg.addView(mView);
mCustomCallback = callback;
...
}
-- vg: 用來裝 CameraView 的 Parent
-- callback: 用來傳回執行 Tab 中的 onActivityResult()
這樣是可以將 Camera 的畫面顯是在我指定的區塊中
不過 Camera 中的 SurfaceView 的最大長寬卻會被該指定區塊所限制,
因此而變形 (變肥)
目前只能根據高度來縮小寬度(兩邊會露出沒用到的空間)
PS: Tab 跟 Camera 的 layout_width & layout_height 都設為 "wrap_content"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.75.82.188
→
01/03 20:30, , 1F
01/03 20:30, 1F
→
01/03 20:49, , 2F
01/03 20:49, 2F
→
01/03 20:50, , 3F
01/03 20:50, 3F
→
01/03 20:50, , 4F
01/03 20:50, 4F
謝謝樓上兩位的建議
但是我那個 Tab 上還有其他功能 (選照片之類的),所以不想把他跟 Camera 混在一起
想找看看有沒有切的比較乾淨的方法
※ 編輯: guanwha 來自: 114.45.247.158 (01/03 21:56)
※ 編輯: guanwha 來自: 114.45.247.158 (01/03 21:57)
推
01/03 23:02, , 5F
01/03 23:02, 5F
我有看到 ActivityGroup 可以實做,但是他已經被 Google 在 API13 被 deprecate
所以沒有打算用 ActivityGroup
※ 編輯: guanwha 來自: 114.45.247.158 (01/03 23:24)
推
01/04 15:02, , 6F
01/04 15:02, 6F
是的,但是在該 Tab 主要是顯示照片結果
裡面有兩個 Button
一個是開啟相簿瀏覽器來選照片 (目前用內建的)
一個是開啟自訂照相機來拍照片 (因為需要在上面加 Button 所以用自訂的)
※ 編輯: guanwha 來自: 114.45.233.59 (01/04 16:27)
※ 編輯: guanwha 來自: 114.45.240.102 (01/05 13:00)