I'm fairly new to Android development and I've created my first "real" application that does the following:
MainActivity processes Extra Data and then displays a ViewDialog
that extends Dialog
. ViewDialog
has a showDialog()
method that does the following to setup and display the Dialog
:
protected void showDialog(final Activity activity)
{
dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(false);
dialog.setContentView(dialog_layout);
// Set background color of the dialog
ConstraintLayout currentLayout = (ConstraintLayout) dialog.findViewById(R.id.Dialog);
// setup of views etc ...
// Finally dislay `Dialog`
dialog.show();
// Method called to start a `DialogTimer` which extends `CountDownTimer`
}
MainActivity shows the ViewDialog
as follows:
public class MainActivity extends AppCompatActivity {
private static Context appContext;
private static ViewDialog notify;
protected void onCreate(Bundle savedInstanceState) {
// methods and processing etc...
// time to display dialog
notify = new ViewDialog(mParameters, mThemeHandler );
// ******************** Show dialog box *******************
notify.showDialog(activity: this); // showDialog just calls `Dialog.show()`
notify.ApplyTheme();
}
When the timer expires or the user presses a button the ViewDialog
is closed and the application is finished with the following code:
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CancelTimer();
activity.finishAndRemoveTask();
dialog.dismiss();
The problem is that when the ViewDialog
is dismissed I can occasionally see what looks like a message that is displaying the activities android:label
that is setup in the AndroidManifest file.
Video of what is happening
I'm not sure why this happens, but I assume it's displaying some item of the MainActivity
layout when the ViewDialog
closes that uses it's own dialog_layout
layout file.
I've fiddled with so many different things and changed code/layouts etc and I haven't been able to find my error.
What are some pointers and hints that will help me fix this? I'm happy to provide more details if needed.
The layout and manifest files are here:
You can achieve this by setting the android:theme attribute to @android:style/Theme.NoTitleBar on your element in your AndroidManifest.xml like this:
<activity android:name=".Activity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
The code you've posted is not enough to figure out why this is happening, but there is one universal solution not to see Activity title(that is is set in the label field of manifest).
Declare in your styles.xml a new theme like
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowContentOverlay">@null</item>
</style>
and after that make it to be the theme of your activity like this
<activity
...
android:name="boha.notify.MainActivity"
android:theme="@style/AppTheme.NoActionBar">
...
</activity>
While I am not 100 percent sure(because this behavior can be altered in an actual code of your activity) I think it might help.
I hope it will help.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With