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>

