如何将EditText转换为可编辑的文本文件,如NotePad

时间:2016-10-18 04:42:58

标签: java android android-layout

您好

我的问题是,当我有ScrollViewEditText的空白屏幕时。 我希望我的应用程序允许用户编写他/她想要的任何内容,当我运行应用程序时,您只能在中间输入。 (我将EditText拉伸到整个屏幕)

这是我的屏幕:

enter image description here

这是我应该/需要的屏幕:

enter image description here

以下是代码:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:fitsSystemWindows="true"
    tools:context="onhar.personalnote.Writing_Table">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="1000dp">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="1000dp">



            </RelativeLayout>

        </ScrollView>

    </RelativeLayout>

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@drawable/plusicon" />

    <include layout="@layout/content_writing__table" />

</android.support.design.widget.CoordinatorLayout>

这可能吗?

4 个答案:

答案 0 :(得分:1)

在您的XML中,您需要在EditText上使用android:gravity="top|start"

如果您想在Java代码中使用它,那么它是myEditText.setGravity(Gravity.TOP | Gravity.START);

答案 1 :(得分:0)

where position是int:

editText1.setSelection(position);

editText1.setSelection(0); //You can set it as 0.

答案 2 :(得分:0)

EditText yourEt= (EditText) findViewById(R.id.yourEt);
yourEt.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEt, InputMethodManager.SHOW_IMPLICIT);

// You can set focus of edittext only. 
// Please share your code.  

答案 3 :(得分:0)

首先,你不应该使用固定高度。对您的查询的回答是将此属性android:fillViewport="true"添加到您的ScrollView。同时将android:gravity="top"添加到EditText。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <EditText
                android:id="@+id/edt"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="top"
                android:hint="Hello" />
        </RelativeLayout>
    </ScrollView>
</RelativeLayout>