2012-06-12 25 views
3

在我的應用程序用戶從聯繫人或通話記錄中選擇電話號碼。挑選聯繫人非常簡單,並且在手機和平​​板電腦上都很好 - 我。即在手機上新的全屏幕活動彈出,並在桌上我看到很好的彈出對話框與聯繫人列表。對話框片段嵌入取決於設備

看來,沒有辦法從通話記錄中選擇電話號碼,所以我必須實現我自己的活動(通過ListFragment)。我想要達到與聯繫人相同的行爲 - 在平板電腦上我想看到帶有列表視圖的彈出式對話框,以及我希望看到全屏活動的手機。

enter image description here

有可能才達到什麼畫上的這張照片,而無需像代碼:「如果這是提交然後顯示彈出否則啓動新的活動」,並只使用樣式/這是挑選佈局自動依賴在設備上?

+1

您必須檢查是否存在碎片的佔位符......並僅將此佔位符放在「平板電腦佈局」中...所以如果有佔位符,您只需使用fragmentManager將此列表碎片放在那裏..如果你沒有開始包含這個片段的活動...... – Selvin

+0

沒錯,沒有想到那個。 – lstipakov

回答

2

看來,最簡單的解決方案 - 我使用ListFragment,並不想犧牲它到DialogFragment - 是創建不同的主題取決於分辨率(和平臺)。

例如:

的AndroidManifest.xml

<activity 
    android:name="CallLogActivity" 
    android:theme="@style/dialog_or_activity"> 
</activity> 

\值-XLARGE-V11 \ styles.xml

<resources> 
    <style name="dialog_or_activity" parent="android:Theme.Holo.Light.Dialog">     
    </style> 
</resources> 

\值\ styles.xml

<style name="dialog_or_activity" parent="android:Theme">   
</style> 
+0

你也可以嘗試片段對話框而不是「活動對話框」(CallLogActivity)http://android-developers.blogspot.com/2012/05/using-dialogfragments.html – Selvin

+0

是的,但我不能使用ListFragment,並將有編寫額外的代碼來實現其功能 – lstipakov