Я напишу для вас одно простое всплывающее окно, надеюсь, оно вам поможет.
Вы должны добавить следующие строки в свой файл AndroidManifest.xml:
<activity
android:name=".Pop"
android:theme="@style/AppTheme.CustomTheme" />
Здесь я делаю простую тему для всплывающего окна, мы можем изменить это ... мы определяем это в файле styles.xml:
<style name="AppTheme.CustomTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
Вы также сделали один макет для всплывающего окна, вот код для макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Pop">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="217dp"
android:text="@string/asdfdasdasdasdas" />
Также вы должны сделать файл Java, вот код для этого:
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.DisplayMetrics;
public class Pop extends Activity{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popwindow);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int)(width*.7),(int) (height*.7));
}
}
В конце я открываю всплывающее окно при нажатии кнопки, вот код (добавить в файл MainActivity.java):
Button button = findViewById(R.id.info);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, com.example.user_pc.zavrsnitri.Pop.class);
startActivity(intent);
}
});