Hirdetés

Új hozzászólás Aktív témák

  • domel

    tag

    válasz domel #4743 üzenetére

    Na végre összejött az ablak, ami bármilyen applikáció felett fut.
    deklarációban:
    private WindowManager wm;

    onCreate:

    wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
    addImageView(8);

    és
    private void addImageView(Integer i) {
    final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.WRAP_CONTENT,
    WindowManager.LayoutParams.TYPE_PHONE,
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
    PixelFormat.TRANSLUCENT);
    params.gravity = Gravity.TOP | Gravity.START;
    params.x=i;
    params.y=i;
    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
    View popupView = inflater.inflate(R.layout.rere, null); //RelativeLayout
    wm.addView(popupView, params);
    TextView titi= popupView.findViewById(R.id.zizi);
    titi.setText("szöveg átír");
    }

    rere.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="left"
    android:id="@+id/o2element1"
    android:padding="0dp"
    android:background="#4F77A0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text="próba 1"
    android:id="@+id/zizi"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text="próba 2"
    android:id="@+id/zizi2"
    />
    </LinearLayout>

    Ahhoz hogy működjön, két dolog kell (másfél dolog)
    1. engedélyezni kell az app-nak, hogy más appok felett lehessen: settings>alkalmazások>speciális>megjelenés más alkalmazások felett>programunk>kapcsoló bekapcsol
    Akár programból is odarepíthetjük a felhasználót a beállítások menübe, mert az engedélyt neki kell megadni, de olvastam valamit, hogy a play-ről telepítve valamilyen feltételnek megfelelve ez akár ki is kerülhető
    2. ha Oreo vagy magasabb az oprendszer, akkor külön engedély kell neki:
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    Most hogy már ezt is tudom, fogalmam nincs mire fogom használni :C

Új hozzászólás Aktív témák