Android单行TextView(对于计算器应用程序)从按钮中获取输入,这是一个问题



我是一个初学者,试图在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);
                }
            });
        }
    });

相关内容

最新更新