Показать динамический c текст редактирования над клавиатурой в android - PullRequest
0 голосов
/ 26 февраля 2020

У меня экран android, и мне нужно создать текст для редактирования при нажатии какой-либо кнопки, текст для редактирования не отображается на экране по умолчанию, я хочу показать его прямо над клавиатурой, как показано на следующем снимке экрана , Есть ли способ сделать это? введите описание изображения здесь

1 Ответ

0 голосов
/ 26 февраля 2020

Я думаю, что это поможет вам

AndroidManifest. xml

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:usesCleartextTraffic="true"
    tools:ignore="GoogleAppIndexingWarning">

    <activity
        android:name=".MainActivity"
        android:windowSoftInputMode="adjustPan">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

activity_main. 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:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.appcompat.widget.AppCompatButton
        android:id="@+id/btnOpen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Open" />

</RelativeLayout>

MainActivity. Java

    public class MainActivity extends AppCompatActivity {

    AppCompatButton btnOpen;
    RelativeLayout relativeLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnOpen = findViewById(R.id.btnOpen);
        relativeLayout = findViewById(R.id.relativeLayout);
        btnOpen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addEditText();
            }
        });

    }

    private void addEditText() {
        // add edittext
        EditText et = new EditText(this);
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
        et.setLayoutParams(lp);
        et.setHint("Text");
        relativeLayout.addView(et);
    }
}
...