Android 从按钮获取输入的单行 textView(对于计算器应用程序),这是个问题吗?
Android Single line textView (for a calculator app) that takes input from buttons, is this an issue?
我是一名初学者,试图在 Android Studio 中制作一个从按钮输入的计算器应用程序。事实证明,与仅使用 EditText 相比,这比我想象的要困难得多,但到目前为止,这是一次很棒的学习经历。
我正在处理我正在使用 textView 的应用程序的显示部分。我将其设置为当单击按钮时,按钮的值附加到 textView。这是一个计算器,所以我希望 textView 显示在一行上,并在 textView 的宽度已满时水平移动以获取新输入。
我从另一个人的 post 中找到了一种方法,可以通过在 XML 中设置以下内容来实现:
android:inputType="text"
android:maxLines="1"
当我这样做时,它完全符合我的要求,但我收到一个 IDE 警告,上面写着:
Warning: Attribute android:inputType
should not be used with <TextView>
: Change element type to <EditText>
?
如果没有 android:inputType="text" 代码,textView 似乎无法正确滚动,我不想使用 EditText。这有什么值得担心的吗?有更好的方法吗?
感谢您的帮助。
不要在 TextView 中使用 inputType。
由此link - https://youtu.be/HYt1Ntu89X4
我的理解是您希望文本动态滚动,即在按下按钮时滚动。
你可以这样做:
XML
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hzw"
android:fillViewport="true"
android:layout_gravity="end">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv1"
android:maxLines="1"
android:textSize="20dp"
android:textStyle="bold"
android:gravity="end"/>
</HorizontalScrollView>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/b"
android:text="Add Text"/>
Java
tv1 = (TextView)findViewById(R.id.tv1);
tv1.setText("123+123");
hzw = (HorizontalScrollView)findViewById(R.id.hzw);
b = (Button)findViewById(R.id.b);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv1.append("d+1+cff");
hzw.post(new Runnable() {
@Override
public void run() {
hzw.fullScroll(View.FOCUS_RIGHT);
}
});
}
});
我是一名初学者,试图在 Android Studio 中制作一个从按钮输入的计算器应用程序。事实证明,与仅使用 EditText 相比,这比我想象的要困难得多,但到目前为止,这是一次很棒的学习经历。
我正在处理我正在使用 textView 的应用程序的显示部分。我将其设置为当单击按钮时,按钮的值附加到 textView。这是一个计算器,所以我希望 textView 显示在一行上,并在 textView 的宽度已满时水平移动以获取新输入。
我从另一个人的 post 中找到了一种方法,可以通过在 XML 中设置以下内容来实现:
android:inputType="text"
android:maxLines="1"
当我这样做时,它完全符合我的要求,但我收到一个 IDE 警告,上面写着:
Warning: Attribute
android:inputType
should not be used with<TextView>
: Change element type to<EditText>
?
如果没有 android:inputType="text" 代码,textView 似乎无法正确滚动,我不想使用 EditText。这有什么值得担心的吗?有更好的方法吗?
感谢您的帮助。
不要在 TextView 中使用 inputType。
由此link - https://youtu.be/HYt1Ntu89X4
我的理解是您希望文本动态滚动,即在按下按钮时滚动。
你可以这样做:
XML
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hzw"
android:fillViewport="true"
android:layout_gravity="end">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv1"
android:maxLines="1"
android:textSize="20dp"
android:textStyle="bold"
android:gravity="end"/>
</HorizontalScrollView>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/b"
android:text="Add Text"/>
Java
tv1 = (TextView)findViewById(R.id.tv1);
tv1.setText("123+123");
hzw = (HorizontalScrollView)findViewById(R.id.hzw);
b = (Button)findViewById(R.id.b);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tv1.append("d+1+cff");
hzw.post(new Runnable() {
@Override
public void run() {
hzw.fullScroll(View.FOCUS_RIGHT);
}
});
}
});