简体   繁体   中英

How to create a clear button out out imageview?

So im currently doing a project that is due soon.

it consists of making a phone app with number buttons etc..

One of the questions that the teacher asked us is to add a Imageview and use it as a button to clear the TextView when there is 10 characters or over.

any help is appreciated, I'm still very new to Android coding so my knowledge is very bad haha

here is my Java code:

    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");
            }
        });
    }
}

And here Is my 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>

And heres a Screenshot of my design: Design part

Thanks for the help

First, you will need to make your ImageView clickable in the XML:

android:clickable="true"

You can then set the OnClickListener on the ImageView like you did for the rest of your Buttons.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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