Android EditText поверх NativeActivity: всплывающее касание при долгом нажатии не работает на некоторых устройствах - PullRequest
7 голосов
/ 13 мая 2019

Я ищу помощь со странной проблемой в Android UI.У меня есть NativeActivity, подкласс в Java, например:

public class MainActivity extends NativeActivity {
...

в AndroidManifest.xml:

<activity android:name="textactivity" android:screenOrientation="unspecified" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

Так что это EditText, показанный из кода C ++ через JNI.Код C ++ использует OpenGL ES для рисования.

EditText, вызываемый:

...
Intent ebintent=new Intent(this,EditBoxActivity.class);
ebintent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivityForResult(ebintent,ebrescode);

В действии EditText нет ничего особенного, например:

public class EditBoxActivity extends Activity {
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editbox);
LinearLayout linearlayout=(LinearLayout)findViewById(R.id.linearLayoutEditBox);
linearlayout.setPadding(xpos,ypos,0,0);
edttext=(EditText)findViewById(R.id.editText);
edttext.getLayoutParams().width=width;
edttext.getLayoutParams().height=height;

И макет xml:

<LinearLayout 
    android:id="@+id/linearLayoutEditBox"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00000000">
<EditText
        android:id="@+id/editText"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:lines="1"
        android:singleLine="true" />

Теперь мой вопрос.Он работает отлично, на всех устройствах, ну, нет, на самом деле есть некоторые сообщения от пользователей Galaxy S8 / S9, которые обновили до Android 9.0 Pie, что «я не могу вставить, я нажимаю, но это не работает».Я проверил это сам, на 8.0 он отлично работал на моем Galaxy S9, теперь я обновился до 9.0 и: долгое нажатие на EditText, показ всплывающего окна, он говорит «Вставить», но я нажимаю вставить, но касание не работает,вообще ... я пробовал другие приложения.Там не так много приложений, как у меня.Большинство из них используют только Java.Они работают и не имеют проблем.Для меня это выглядит как ошибка в Android Framework, модифицированная Samsung.Как вы думаете, есть ли у меня надежда, чтобы найти обходной путь.Я хочу вставить текст в мое простое текстовое поле, ничего особенного.

Я попытался создать PopupWindow с EditBox, но всплывающее окно вставки не отображается по неизвестной причине.

Я попытался использовать AppCompatActivity с AppCompatEditText, он выглядит так же, как и другие приложения, но всплывающее окно вставки все равно ничего не делает.

...