我正在制作一个计算器,用户输入包含在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" />
答案 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"