diff --git a/android/res/layout/tts_toolbar.xml b/android/res/layout/tts_toolbar.xml index 0508c6528..f065ffee4 100644 --- a/android/res/layout/tts_toolbar.xml +++ b/android/res/layout/tts_toolbar.xml @@ -1,14 +1,28 @@ - + android:layout_height="fill_parent"> + + + + + + diff --git a/android/src/org/coolreader/crengine/TTSToolbarDlg.java b/android/src/org/coolreader/crengine/TTSToolbarDlg.java index 2f22c5b9e..d2c3e8d44 100644 --- a/android/src/org/coolreader/crengine/TTSToolbarDlg.java +++ b/android/src/org/coolreader/crengine/TTSToolbarDlg.java @@ -39,6 +39,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.widget.ImageButton; +import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; @@ -65,6 +66,8 @@ public class TTSToolbarDlg implements Settings { private final PopupWindow mWindow; private final CoolReader mCoolReader; private final ReaderView mReaderView; + private final LinearLayout glassPanel; + private final LinearLayout toolbarBody; private final TTSControlServiceAccessor mTTSControl; private final ImageButton mPlayPauseButton; private final TextView mVolumeTextView; @@ -77,6 +80,7 @@ public class TTSToolbarDlg implements Settings { private boolean mClosed; private Selection mCurrentSelection; private boolean isSpeaking; + private boolean isToolbarHidden; private int mMotionTimeout; private boolean mAutoSetDocLang; private String mBookAuthors; @@ -438,6 +442,14 @@ public TTSToolbarDlg(CoolReader coolReader, ReaderView readerView, TTSControlSer LayoutInflater inflater = LayoutInflater.from(context); View panel = inflater.inflate(R.layout.tts_toolbar, null); + glassPanel = panel.findViewById(R.id.tts_glass_panel); + toolbarBody = panel.findViewById(R.id.tts_toolbar_body); + + glassPanel.setOnClickListener(v -> { + isToolbarHidden = !isToolbarHidden; + toolbarBody.setVisibility(isToolbarHidden ? View.INVISIBLE: View.VISIBLE); + }); + mPlayPauseButton = panel.findViewById(R.id.tts_play_pause); mPlayPauseButton.setImageResource(Utils.resolveResourceIdByAttr(mCoolReader, R.attr.ic_media_play_drawable, R.drawable.ic_media_play)); ImageButton backButton = panel.findViewById(R.id.tts_back); @@ -557,7 +569,7 @@ public void onStopTrackingTouch(SeekBar seekBar) { mWindow.setBackgroundDrawable(new BitmapDrawable()); mWindow.setWidth(WindowManager.LayoutParams.FILL_PARENT); - mWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); + mWindow.setHeight(WindowManager.LayoutParams.FILL_PARENT); mWindow.setFocusable(true); mWindow.setTouchable(true); mWindow.setOutsideTouchable(true);