studio - Diálogo Android: eliminación de la barra de título
messagebox android (11)
Esto funcionó para mí.
Dailog dialog = new Dialog(MyActivity.this, R.style.dialogstyle);
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="dialogstyle" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">false</item>
</style>
</resources>
Tengo un comportamiento extraño, no puedo identificar la fuente de.
Tengo mi aplicación con el clásico
requestWindowFeature(Window.FEATURE_NO_TITLE);
para eliminar la barra de título / estado.
Luego creo un cuadro de diálogo para permitir al usuario ingresar información (nombre, etc.)
Con un teclado físico, no hay problema, pero cuando uso el teclado virtual tengo un comportamiento extraño:
cada vez que presiono una tecla en la placa de teclado virtual, la barra de título / estado reaparece empujando todo el diseño del teclado y luego desaparece de nuevo (al igual que la animación de cuando inicio la aplicación)
aquí hay un código:
dialog = new Dialog(context);
dialog.setContentView(R.layout.logindialog);
dialog.setTitle("Login:");
WindowManager.LayoutParams a = dialog.getWindow().getAttributes();
// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
a.dimAmount = 0;
dialog.getWindow().setAttributes(a);
dialog.setCancelable(true);
dialog.getWindow().setLayout(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
y entonces
dialog.show();
Lo intenté
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
pero bloquea mi aplicación.
aquí está el xml
<TextView android:id="@+id/LoginText"
android:gravity="fill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login:">
</TextView>
<EditText android:id="@+id/LoginEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="jason"
android:layout_width="200sp"/>
<TextView android:id="@+id/PasswordText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:">
</TextView>
<EditText android:id="@+id/PasswordEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="welcome"
android:layout_width="200sp"
android:password="true"/>
<LinearLayout
android:id="@+id/test2"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/LoginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Login" />
<Button android:id="@+id/CreateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Create" />
<Button android:id="@+id/CancelLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</LinearLayout>/>
Puede probar esta sencilla biblioteca emergente de diálogo de Android . Es muy simple de usar en su actividad.
Cuando se hace clic en el botón Enviar, intente seguir el código después de incluir la lib anterior en su código
Pop.on(this)
.with()
.title(R.string.title) //ignore if not needed
.icon(R.drawable.icon) //ignore if not needed
.cancelable(false) //ignore if not needed
.layout(R.layout.custom_pop)
.when(new Pop.Yah() {
@Override
public void clicked(DialogInterface dialog, View view) {
Toast.makeText(getBaseContext(), "Yah button clicked", Toast.LENGTH_LONG).show();
}
}).show();
Agregue una línea en su gradle y listo.
dependencies {
compile ''com.vistrav:pop:2.0''
}
Si está utilizando una vista personalizada, recuerde solicitar la función de ventana antes de agregar una vista de contenido como esta
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(view);
dialog.show();
Soy un principiante de Android y me encontré con esta pregunta tratando de deshacerse de una barra de título.
Estoy usando una actividad y la visualizo como un diálogo. Estaba hurgando con temas y encontré un poco útil de tematización predeterminada.
Aquí está el código de mi AndroidManifest.xml
que estaba usando cuando se mostraba la barra de título:
<activity
android:name=".AlertDialog"
android:theme="@android:style/Theme.Holo.Dialog"
>
</activity>
Aquí está el cambio que me dio el resultado deseado:
<activity
android:name=".AlertDialog"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar"
>
</activity>
Como dije, todavía soy nuevo en Android, por lo que esto puede tener efectos secundarios indeseables, pero parece que me dio el resultado que quería, que era simplemente quitar la barra de título del diálogo.
También puede definir Theme en el archivo de manifiesto de Android para que no se muestre la barra de título.
Usted simplemente define el tema android:theme="@android:style/Theme.Light.NoTitleBar"
en la actividad donde no desea mostrar la barra de título
Ejemplo:-
<uses-sdk android:minSdkVersion="4"android:targetSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".splash"
android:label="@string/app_name" android:screenOrientation="portrait"
android:theme="@android:style/Theme.Light.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="main" android:screenOrientation="portrait" android:theme="@android:style/Theme.Light.NoTitleBar"></activity>
Todas las respuestas anteriores no funcionan para mí para AppCompatDialog
Si está utilizando AppCompatDialog intente esto
Nota importante: configure esto antes de llamar a setContentView.
dialog.supportRequestWindowFeature (Window.FEATURE_NO_TITLE);
crea tu XML que se muestra en el diálogo aquí es activity_no_title_dialog
final Dialog dialog1 = new Dialog(context);
dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog1.setContentView(R.layout.activity_no_title_dialog);
dialog1.show();
crear nuevo estilo en styles.xml
<style name="myDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
luego agrega esto a tu manifiesto:
<activity android:name=".youractivity" android:theme="@style/myDialog"></activity>
use el código siguiente antes de establecer la vista de contenido: -
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog);
Nota: - el código anterior debe tener que usar el dialog.setContentView(R.layout.custom_dialog);
anterior.setContentView dialog.setContentView(R.layout.custom_dialog);
En XML usa un tema
android:theme="@android:style/Theme.NoTitleBar"
también styles.xml:
<style name="hidetitle" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
Y entonces:
Dialog dialog_hidetitle_example = new Dialog(context, R.style.hidetitle);
utilizar,
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before
dialog.setContentView(R.layout.logindialog);
**write this before adding view to dialog.**
dialog1.requestWindowFeature (Window.FEATURE_NO_TITLE);