Как вести себя в Android с кнопкой закрытия в верхнем углу? - PullRequest
9 голосов
/ 24 января 2012

Я хотел бы иметь действие, которое будет состоять из кнопки закрытия, то есть «x» в правом верхнем углу, закрывающего действие.Любые примеры по этому поводу будут очень полезны.

Ответы [ 4 ]

14 голосов
/ 24 января 2012

создайте Activity с прозрачной темой в манифесте следующим образом:

<activity android:name=".MyDialogActivity" android:theme="@style/Theme.Transparent" />

, а затем определите макет следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <RelativeLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:layout_margin="15dp" android:padding="2dp">
        <!-- Contents will go here..-->
    </RelativeLayout>
    <Button android:layout_alignParentRight="true" android:text="X"
        android:textColor="#FFF" android:background="@drawable/round_button_background"
        android:gravity="center_vertical|center_horizontal"
        android:layout_margin="5dp" android:layout_height="25dp"
        android:layout_width="25dp" android:textSize="12sp" android:textStyle="bold"
        android:onClick="cancelActivity" />
</RelativeLayout>

и определите фон для вашего закрытия Button в раскладке так:

round_button_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
    <solid android:color="#9F2200" />
    <stroke android:width="2dp" android:color="#FFF" />
</shape>
2 голосов
/ 24 января 2012

Используйте juzt в правом верхнем углу изображения, похожего на x. Нажав кнопку x, вы можете закончить упражнение.

XML:

        <ImageView
          android:id="@+id/close"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:align_parentRight="true"
          android:src="@drawable/closeimage"
          />

В коде Java:

       ImageView view=(ImageView)findViewById(R.id.close);
       view.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
             Intent intent=new Intent(currentclass.this,statingclass.class);
              startActivity(intent);// here u can start another activity or just call finish method to close the activity.
              finish();

        }
    });
1 голос
/ 02 августа 2017

Может быть, кнопка "Вверх" - это то, что вам действительно нужно, а не кнопка закрытия. Из официальной документации Android: «Ваше приложение должно упростить пользователям доступ к главному экрану приложения. Одним из простых способов сделать это является предоставление кнопки« Вверх »на панели приложений для всех действий, кроме основного. «

Подробности описаны здесь: https://developer.android.com/training/appbar/up-action.html

1 голос
/ 24 января 2012

В xml добавьте один вид кнопки

синтаксис:

<Button android:id="+@id/close"
     android:text="close"
     android:layout_margin="5sp" 
     android:layout_height="25sp"
     android:layout_width="25sp" 
     android:onClick="closeActivity" />

и внутри вашей деятельности или класса Java

синтаксис:

public void closeActivity(View v){

 Intent intent=new Intent(currentclass.this,statingclass.class);
 startActivity(intent);
 finish();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...