В XML я реализовал линейную компоновку с горизонтальной прокруткой с прокручиваемым текстом и с изображением с вектором, который можно рисовать (копировать в вектор буфера обмена).
XML
<?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"
android:padding="30dp">
<ImageView
android:id="@+id/refresh"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="?attr/selectableItemBackgroundBorderless"
app:srcCompat="@drawable/ic_new"
tools:ignore="VectorDrawableCompat" />
<LinearLayout
android:id="@+id/copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="?attr/selectableItemBackground"
android:orientation="horizontal"
android:paddingStart="-3dp"
android:paddingLeft="-3dp"
android:clickable="true"
android:focusable="true">
<HorizontalScrollView
android:layout_width="290dp"
android:layout_height="wrap_content"
android:clickable="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:clickable="false">
<TextView
android:id="@+id/gen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start"
android:paddingStart="5dp"
android:paddingLeft="5dp"
android:text="Sample Text Sample Text Sample Text Sample Text Sample Text "
android:textSize="24sp"
android:clickable="false"/>
</LinearLayout>
</HorizontalScrollView>
<ImageView
android:id="@+id/pos"
android:layout_width="32dp"
android:layout_height="32dp"
android:scaleX="-1"
app:srcCompat="@drawable/ic_copy"
tools:ignore="VectorDrawableCompat"
android:clickable="false"/>
</LinearLayout>
<TextView
android:id="@+id/Length"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="44dp"
android:text="Long Text Sample"
android:textSize="13sp" />
<SeekBar
android:id="@+id/pwSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="70dp"
android:max="128"
android:min="8"/>
</RelativeLayout>
В Java Я реализовал onclicklistener для родительского LinearLayout, содержащего просмотр прокрутки и просмотр изображения.
Java
copyclipboard = (LinearLayout) view.findViewById(R.id.copy);
copyclipboard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clipboard = (ClipboardManager) requireActivity().getSystemService(Context.CLIPBOARD_SERVICE);
clip = ClipData.newPlainText("text", gen.getText());
clipboard.setPrimaryClip(clip);
Toast.makeText(getActivity(), "Copied", Toast.LENGTH_SHORT).show();
}
});
Проблема, с которой я сталкиваюсь, заключается в том, что onclicklistener не реагирует при нажатии на более чем 90% области и работает только тогда, когда область, которую охватывает просмотр изображений (ID pos). Как мне решить эту проблему?