我是一个初学者,试图在Android Studio中制作一个从按钮中获取输入的计算器应用程序。事实证明,这比我想象的要与仅使用Edittext相比要困难得多,但是到目前为止,这是一次很棒的学习经历。
我正在使用我正在使用文本视图的应用程序的显示部分。我已经设置了它,以便在单击按钮时,将按钮的值附加到文本视图中。这是一个计算器,所以我希望在文本视图的宽度满足时将文本视图显示在单行上,并水平移动新输入。
我从另一个人的帖子中找到了一种方法,该帖子通过在xml中设置以下内容:
android:inputType="text"
android:maxLines="1"
当我这样做时,它确实可以做我想要的,但是我得到了一个IDE警告,上面说:
警告:属性
android:inputType
不应与<TextView>
:将元素类型更改为<EditText>
?
没有android:inputType =" text"代码,文本视图似乎无法正确滚动,我不想使用EditText。这要担心吗?有更好的方法吗?
感谢您的帮助。
在textView中不使用inputType。
来自此链接-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);
}
});
}
});