Я создаю приложение для Android. В этом приложении я использую диалоговое окно, чтобы отображать содержимое HTML, которое поступает со стороны . Я создал окно диалога, используя метод ниже.Динамическое изменение ширины окна приложения Android
private void displayDialogWindow(String html) {
// here I have created new dialog window
dialog = new Dialog(cordova.getActivity(),
android.R.style.Theme_NoTitleBar);
dialog.getWindow().getAttributes().windowAnimations =
android.R.style.Animation_Dialog;
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(true);
// creates a new webview to display HTML and attached to
dialog to display
webview = new WebView(cordova.getContext());
webview.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
webview.setWebChromeClient(new WebChromeClient());
webview.requestFocusFromTouch();
final String mimeType2 = "text/html";
final String encoding2 = "UTF-8";
webview.loadDataWithBaseURL("", html, mimeType2, encoding2, "");
dialog.setContentView(webview);
// get the screen size of the device
WindowManager wm = (WindowManager) ctx
.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
// set appropriate sizes to the dialog window whether there is
side menu or not
lp.copyFrom(dialog2.getWindow().getAttributes());
lp.width = width ;
lp.height = height - 100;
dialog.getWindow().setAttributes(lp2);
dialog.show();
}
Используя вышеописанный метод, я смог успешно создать окно диалога.
И я создаю окно Dialog, используя тему,
Runnable runnable = new Runnable() {
public void run() {
displayDialogWindow(html);
}
};
Но после показа окна диалога один раз, я хочу, чтобы изменить ширину окна Dialog динамически. (например, когда я нажимаю на другую кнопку моего приложения, ширина окна должна быть уменьшена и перейти к исходной ширине при нажатии другой кнопки).
Может ли кто-нибудь помочь мне изменить ширину окна диалога динамически?
http://stackoverflow.com/a/10912076/826657 см. Это –
@twntee Я видел это, но это не касается моего друга вопроса. Я хочу изменить его динамически. – harsh
@ что вы думаете о моем ответе? Если вы нашли другое решение, отправьте его ;-). – JJ86