3

私のアプリでは、ユーザーは連絡先または通話履歴から電話番号を選択します。連絡先の選択は非常に簡単で、携帯電話とタブレットの両方でうまく機能します。つまり、携帯電話では新しいフルスクリーン アクティビティがポップアップし、テーブルでは連絡先のリストを含む素敵なポップアップ ダイアログが表示されます。

通話履歴から電話番号を取得する方法はないようですので、(ListFragment を介して) 独自のアクティビティを実装する必要がありました。連絡先と同じ動作を実現したいと思います-タブレットではリストビューでポップアップダイアログを表示したいし、電話ではフルスクリーンアクティビティを表示したい.

ここに画像の説明を入力

「これがテーブル化されている場合、ポップアップを表示するか、新しいアクティビティを開始する」などのコードを使用せずに、この写真に描かれているものを実現し、デバイスに応じて自動的に選択されるスタイル/レイアウトのみを使用できますか?

4

1 に答える 1

2

最も簡単な解決策のようです-私はListFragmentを使用していて、それをDialogFragmentに犠牲にしたくありません-解像度(およびプラットフォーム)に応じて異なるテーマを作成することです。

例えば:

AndroidManifest.xml

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

\values-xlarge-v11\styles.xml

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

\values\styles.xml

<style name="dialog_or_activity" parent="android:Theme">        
</style>
于 2012-06-12T13:28:05.130 に答える