EditText不会写入单行

时间:2016-06-25 14:13:55

标签: android android-layout android-edittext

我正在制作一个计算器,用户输入包含在EditText中。通过屏幕上的按钮输入输入,因此禁用Android键盘。但是,我希望它在一行中写入所有输入,当行到达边框时,需要进行椭圆化处理,然后水平滚动,以便您可以访问整个文本。

我尝试通过设置android:maxLines =“1”和android:ellipsize =“end”来做到这一点,但这不起作用。文本仍然是多行,但只有一行是可见的,您需要垂直滚动以查看其他行。我也尝试使用android:singleLine =“true”,但这会使EditText完全无法使用。

这是EditText XML:

<EditText
     android:id="@+id/textView"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_gravity="end"
     android:background="@color/colorBlue"
     android:textAlignment="textEnd"
     android:textSize="40sp" />

4 个答案:

答案 0 :(得分:12)

我认为这对你有用。如果有效,请告诉我。

<EditText
 android:id="@+id/textView"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_gravity="end"
 android:background="@color/colorBlue"
 android:textAlignment="textEnd"
 android:textSize="40sp"
 android:inputType="text" 
 android:maxLines="1"
 android:lines="1"
 android:scrollHorizontally="true"
 android:ellipsize="end"/>

post也可能对您有所帮助。

答案 1 :(得分:3)

对于public class Login { public static void main(String[] args) { try{ URL url = new URL("http://leya2.eu/?s=home"); URLConnection conn = url.openConnection();; //now all things out of my request made by "hand" conn.setRequestProperty("Cookie", "rcksid=kGf7FNy41w3X5jyXceoDTmosb9CgjJmGqAHgbGxWZewlwyjnUt7ias18WooEN9i3; BLAZINGFAST-WEB-PROTECT=296ba3c72e2d9a9d3854cdf776e54455; woh=morvltlevb477ruts8kgdgvkj6"); conn.setRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); conn.setRequestProperty("Accept-Language","de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4"); conn.setRequestProperty("Connection","keep-alive"); conn.setRequestProperty("Host","leya2.eu"); conn.setRequestProperty("Referer","http://leya2.eu/?s=user"); conn.setRequestProperty("User-Agent","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36 "); conn.connect(); String line; BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 中的单行,您只需设置两个属性:

EditText

答案 2 :(得分:0)

**This example helps you to create multiline EditText in Android.**  

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/rl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="10dp"
        tools:context=".MainActivity"
        >

        <!--

            android:scrollbars="vertical"
                It will display a vertical scrollbar if the EditText text exceed
                3 lines (android:maxLines).
        -->
        <EditText
            android:id="@+id/et"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:layout_marginBottom="10dp"
            android:hint="Multiline EditText by XML layout"
            android:fontFamily="sans-serif-condensed"
            android:background="#d3d7b6"
            android:minLines="2"
            android:maxLines="3"
            android:scrollbars="vertical"
            android:inputType="textMultiLine"
            />
        <EditText
            android:id="@+id/et2"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:fontFamily="sans-serif-condensed"
            android:hint="Multiline EditText programmatically"
            android:background="#d4d7a5"
            android:layout_below="@+id/et"
            />
    </RelativeLayout>

答案 3 :(得分:0)

将此行添加到edittext中可滚动显示单行文本。 android:inputType="textShortMessage"