In this video it shows how one can implement a pop-up floating window and control certain elements, such as text size, using the seekbar. It uses the progress attribute of the seekbar to set the respective size of the text in the text view.
I hope you like this video. For any questions, suggestions or appreciation please contact us at: https://programmerworld.co/contact/ or email at: programmerworld1990@gmail.com
Source Code:
package com.programmerworld.sizeoftextseekbar; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.PopupWindow; import android.widget.SeekBar; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private SeekBar seekBar; private TextView textView; private View viewPopUpWindow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); viewPopUpWindow = layoutInflater.inflate(R.layout.popupwindow, null); seekBar = viewPopUpWindow.findViewById(R.id.seekBar); textView = viewPopUpWindow.findViewById(R.id.textView); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { textView.setTextSize(i/3); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); } public void buttonPopUp(View view){ final PopupWindow popupWindow = new PopupWindow(viewPopUpWindow, 800, 500, true); popupWindow.showAtLocation(view, Gravity.BOTTOM, 0,0); viewPopUpWindow.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { popupWindow.dismiss(); return false; } }); } }
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="88dp"
android:layout_marginTop="44dp"
android:onClick="buttonPopUp"
android:text="Pop Up Window"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/popupwindow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B1A8A8">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="279dp"
android:layout_height="37dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:progress="50"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_width="276dp"
android:layout_height="107dp"
android:layout_marginStart="16dp"
android:layout_marginTop="27dp"
android:text="Pop up window Text here ..."
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/seekBar" />
</androidx.constraintlayout.widget.ConstraintLayout>
Is it possible to create an app that creates a floating window on top of other text-recognizing apps and that has a button that clicks itself when the text or image we have preset before in our app is recognized?
Yes, it is easily possible. You have to enforce onClick listener of the button when the conditions are met (texts are recognized).
Cheers
Programmer World
–