对话片段嵌入取决于设备

时间:2012-06-12 11:59:20

标签: android dialog android-fragments

在我的应用中,用户从联系人或通话记录中选择电话号码。挑选联系人非常简单,在手机和平​​板电脑上都很好用 - 我。即在手机上弹出新的全屏活动,在桌子上我看到了很好的弹出式对话框,其中包含联系人列表。

似乎无法从通话记录中选择电话号码,因此我必须实施自己的活动(通过ListFragment)。我希望获得与联系人相同的行为 - 在平板电脑上我希望看​​到带有列表视图的弹出对话框,在手机上我希望看​​到全屏活动。

enter image description here

可以在不使用以下代码的情况下获得在此图片上绘制的内容:“如果这是表格,则显示弹出窗口,否则启动新活动”,并且仅使用自动拾取的样式/布局取决于设备?

1 个答案:

答案 0 :(得分: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>