2012-01-24 12 views
8

मैं एक ऐसी गतिविधि करना चाहता हूं जिसमें गतिविधि को बंद करने के दाएं कोने में एक करीबी बटन i.e 'x' शामिल होगा। इस पर कोई भी उदाहरण बहुत उपयोगी होगा।शीर्ष कोने पर एक बंद बटन के साथ एंड्रॉइड में गतिविधि कैसे करें?

उत्तर

14

इस तरह प्रकट में पारदर्शी विषय के साथ एक 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> 

और इस तरह drawable में अपने करीबी 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> 
+0

धन्यवाद आदिल कैसे – Karthik

+0

आप जब कर देगा' Activity' पारदर्शी डिवाइस ऊर्ध्वाधर और क्षैतिज .... की गतिविधि केंद्र बनाने के लिए और आप 'को RelativeLayout' पृष्ठभूमि सेट हो जाएगा आपकी कोई वांछित रंग और आप देखेंगे कि यह स्क्रीन का केंद्र है –

+0

आपको चौड़ाई और ऊंचाई जैसे आयामों के लिए "sp" का उपयोग नहीं करना चाहिए। वे केवल पाठ के लिए हैं। इसके बजाय, "डीपी" का प्रयोग करें। –

1

उपयोग करें juzt में x की तरह छवि है कोने का दायां शीर्ष। एक्स छवि दबाकर आप गतिविधि खत्म कर सकते हैं।

एक्सएमएल:

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

जावा कोड में:

 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

अपने xml में जोड़ने के एक बटन को देखने

वाक्य रचना:

<Button android:id="[email protected]/close" 
    android:text="close" 
    android:layout_margin="5sp" 
    android:layout_height="25sp" 
    android:layout_width="25sp" 
    android:onClick="closeActivity" /> 

और अपनी गतिविधि या जावा के अंदर कक्षा

वाक्य रचना:

public void closeActivity(View v){ 

Intent intent=new Intent(currentclass.this,statingclass.class); 
startActivity(intent); 
finish(); 
0

हो सकता है कि एक "ऊपर" बटन क्या तुम सच में बंद करें बटन के बजाय जरूरत है। आधिकारिक एंड्रॉइड प्रलेखन से: "आपके ऐप को उपयोगकर्ताओं के लिए ऐप की मुख्य स्क्रीन पर वापस जाने के लिए आसान बनाना चाहिए। ऐसा करने का एक आसान तरीका मुख्य कार्य को छोड़कर सभी गतिविधियों के लिए ऐप बार पर एक अप बटन प्रदान करना है। "

विवरण का वर्णन यहां: https://developer.android.com/training/appbar/up-action.html

+0

प्रश्न 5 साल का है। तब वापस कोई एक्शन बार नहीं था। कृपया हालिया और अनुत्तरित प्रश्नों के प्रति अपना ध्यान केंद्रित करें। धन्यवाद। –

+0

मुझे पुराने प्रश्नों के अद्यतित उत्तर क्यों नहीं देना चाहिए जो अब प्रासंगिक हो सकते हैं? कम से कम मुझे नहीं लगता कि यह एक कम वोट के लायक है ?? –

+0

ऊपर बटन आजकल मानक है। जो लोग इस प्रश्न में पूछे गए थे, वे अप बटन से संतुष्ट नहीं होंगे और इसके बजाय स्वीकृत उत्तर का पालन करेंगे। यह जवाब तुरंत अप्रचलित बनाता है। इस पोस्ट को इसके बजाय एक टिप्पणी में सारांशित किया जा सकता था। –

संबंधित मुद्दे