繁体   English   中英

如何在 imageview 之外创建一个清除按钮?

[英]How to create a clear button out out imageview?

所以我目前正在做一个即将到期的项目。

它包括制作带有数字按钮等的电话应用程序。

老师问我们的问题之一是添加一个Imageview,当有10个字符或以上时,将其用作清除TextView的按钮。

感谢任何帮助,我对 Android 编码还是很陌生,所以我的知识非常糟糕哈哈

这是我的 Java 代码:

    Button no1,no2,no3,no4,no5,no6,no7,no8,no9,no0;
    TextView tv1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        no1=(Button) findViewById(R.id.no1);
        no2=(Button) findViewById(R.id.no2);
        no3=(Button) findViewById(R.id.no3);
        no4=(Button) findViewById(R.id.no4);
        no5=(Button) findViewById(R.id.no5);
        no6=(Button) findViewById(R.id.no6);
        no7=(Button) findViewById(R.id.no7);
        no8=(Button) findViewById(R.id.no8);
        no9=(Button) findViewById(R.id.no9);
        no0=(Button) findViewById(R.id.no0);
        tv1=(TextView)findViewById(R.id.tv1);

        no1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"1");
            }
        });
        no2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"2");
            }
        });
        no3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"3");
            }
        });
        no4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"4");
            }
        });
        no5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"5");
            }
        });
        no6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"6");
            }
        });
        no7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"7");
            }
        });
        no8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"8");
            }
        });
        no9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"9");
            }
        });
        no0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv1.setText(tv1.getText()+"0");
            }
        });
    }
}

这是我的 XML:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="262dp"
        android:layout_height="85dp"
        android:layout_marginTop="4dp"
        android:gravity="center|right"
        android:textSize="30sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:maxLength="10"
        android:inputType="phone" />

    <ImageView
        android:id="@+id/btnclear"
        android:layout_width="79dp"
        android:layout_height="73dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="16dp"
        android:clickable="true"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/phone_on" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="345dp"
        android:layout_height="404dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.994">

        <Button
            android:id="@+id/no7"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="7"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no4"
            app:layout_constraintEnd_toStartOf="@+id/no8"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/no8"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="8"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no5"
            app:layout_constraintEnd_toStartOf="@+id/no9"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no7"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/no9"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="9"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no6"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no8"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/no4"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="4"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no1"
            app:layout_constraintEnd_toStartOf="@+id/no5"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/no7" />

        <Button
            android:id="@+id/no5"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="5"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no2"
            app:layout_constraintEnd_toStartOf="@+id/no6"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no4"
            app:layout_constraintTop_toBottomOf="@+id/no8" />

        <Button
            android:id="@+id/no6"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="6"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no3"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no5"
            app:layout_constraintTop_toBottomOf="@+id/no9" />

        <Button
            android:id="@+id/no1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="1"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/etoile"
            app:layout_constraintEnd_toStartOf="@+id/no2"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/no4" />

        <Button
            android:id="@+id/no2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="2"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/no0"
            app:layout_constraintEnd_toStartOf="@+id/no3"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no1"
            app:layout_constraintTop_toBottomOf="@+id/no5" />

        <Button
            android:id="@+id/no3"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="3"
            android:textSize="30sp"
            app:layout_constraintBottom_toTopOf="@+id/Hashtag"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no2"
            app:layout_constraintTop_toBottomOf="@+id/no6" />

        <Button
            android:id="@+id/etoile"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="*"
            android:textSize="30sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/no0"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/no1" />

        <Button
            android:id="@+id/no0"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="0"
            android:textSize="30sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/Hashtag"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/etoile"
            app:layout_constraintTop_toBottomOf="@+id/no2" />

        <Button
            android:id="@+id/Hashtag"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="#"
            android:textSize="30sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/no0"
            app:layout_constraintTop_toBottomOf="@+id/no3" />
    </androidx.constraintlayout.widget.ConstraintLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

这是我设计的截图:设计部分

谢谢您的帮助

首先,您需要在 XML 中使您的 ImageView 可点击:

android:clickable="true"

然后,您可以在OnClickListener上设置 OnClickListener,就像为按钮的 rest 所做的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM