我優化我們的平板電腦的Android應用程序。對於大部分應用程序,我們使用的是片段,但對於某些設置屏幕,我們只想將屏幕作爲平板電腦的對話框啓動。爲了實現這一目標,我們設置了活動的主題,在清單如何設置活動最大高度(對話的主題)
<activity
android:name="com.company.app.EditTaxTypeSettingsActivity"
android:theme="@style/ActivityTheme">
</activity>
而這裏的主題(在res /價值觀大-V11):使用此主題開放作爲
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActivityTheme" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:windowIsFloating">true</item>
</style>
</resources>
活動一個對話框,並在橫向上看起來很好。但在縱向模式下,對話框垂直填充屏幕,看起來很傻。
如何設置這些對話框的最大高度?我嘗試過設置主題<item name="android:maxHeight">500dip</item>
的maxHeight屬性,但它似乎指向活動內容周圍的對話框容器,而不是活動內容本身。 (即,如果我將活動主題的高度設置爲500dip,則對話框會得到一個非常大的對話框標題區域)
我也嘗試設置活動佈局xml(RelativeLayout)的大小,但我無法設置一個maxHeight,我只能設定的高度,但我不能有硬編碼的高度,因爲我有保存和取消設置爲android:layout_alignParentBottom="true"
,使他們能夠留在鍵盤上方時,鍵盤彈出按鈕。 (硬編碼的活動佈局的高度,防止保存/殘留在鍵盤頂部取消按鈕)
謝謝你,沒有人知道如何設置最高對話框高度,最好在主題級別?
我很困惑,爲什麼你會使用'Fragment'本身作爲'Dialog'。只需使用'DialogFragment'。它會正確調整您需要的信息,以適應您要展示的內容。 – Andy
@安迪 - 它們是爲手機設計的活動。我們不想開始一個全新的活動(佔用只有少量信息的整個平板電腦屏幕)。由於它們作爲對話而非片段更好地工作,因此我們決定不將電話活動轉換爲片段,而是希望活動以對話形式打開。所以他們是活動,而不是片段。謝謝。 – Dittimon
哦,好吧,我得到你。所以你說的是你仍然會有活動,但是你希望手機設計的活動成爲平板電腦的對話框? – Andy