Как настроить ширину и высоту, когда отображается действие как диалоговое окно

Если я определил действие:

public class DialogActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(dialog_activity.xml); } } 

Я хотел бы отобразить вышеупомянутое действие как диалог, поэтому в файле AndroidManifest.xml я объявляю это действие, как показано ниже:

 <activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog"/> 

В этот момент все в порядке, моя DialogActivity показала диалог.

Проблема в том, как настроить ширину и высоту DialogActivity чтобы сделать его более похожим на небольшой диалог? (В настоящее время он занимает большую часть экрана по умолчанию)

—————————-Обновить——————— –

Я определил пользовательскую тему, как показано ниже:

 <style name="myDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:width">100dip</item> <item name="android:height">100dip</item> </style> 

Затем объявите DialogActivity в AndroidManifest.xml как.

 <activity android:name=".DialogActivity" android:theme="@style/myDialog"/> 

Моя DialogActivity теперь даже занимает весь экран: (. Определение ширины и высоты :

 <item name="android:width">100dip</item> 

В теме нечего влиять, почему?

Solutions Collecting From Web of "Как настроить ширину и высоту, когда отображается действие как диалоговое окно"

Я, наконец, выяснил один способ настроить размер моей DialogActivity .

Это внутри onCreate() DialogActivity , добавьте следующий код:

 WindowManager.LayoutParams params = getWindow().getAttributes(); params.x = -20; params.height = 100; params.width = 550; params.y = -10; this.getWindow().setAttributes(params); 

Вам нужно предоставить свою собственную тему диалога, см. http://developer.android.com/guide/topics/ui/themes.html и Как изменить тему для AlertDialog

Вы можете установить высоту и ширину макета в XML-файле макета

Вы можете даже упомянуть такие значения, как «240px» для Android: layout_width / android: layout_height

У меня была аналогичная проблема, я использовал следующую тему для своей деятельности

 android:theme="@style/Base.Theme.AppCompat.Light.Dialog" 

Следующий код исправил мою проблему

  setContentView(R.layout.activity_layout); getWindow().setLayout(width(pixels),height(pixels));