यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके Android में बटन को इनविजिबल (अदृश्य) कैसे किया जाता है या व्यू हायरार्की से पूरी तरह कैसे हटाया जाता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में बटन जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="Tutorials Point"
android:textAlignment="center"
android:textColor="@android:color/holo_green_dark"
android:textSize="32sp"
android:textStyle="bold" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@android:color/white"
android:padding="4dp"
android:text="Click to hide me"
android:textColor="@android:color/holo_red_dark"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3: MainActivity.kt में विजिबिलिटी टॉगल करें
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
val button: Button = findViewById(R.id.button)
button.setOnClickListener {
button.visibility = View.INVISIBLE
Toast.makeText(baseContext, "Button is hidden", Toast.LENGTH_SHORT).show()
}
}
}
चरण 4: तीनों विजिबिलिटी मोड्स की तुलना
| मोड | कोड | व्यवहार |
|---|---|---|
| VISIBLE | view.visibility = View.VISIBLE | दिखाई देता है, लेआउट में जगह लेता है |
| INVISIBLE | view.visibility = View.INVISIBLE | छिपा होता है, लेकिन लेआउट में जगह घेरता है |
| GONE | view.visibility = View.GONE | छिपा होता है, लेआउट में कोई जगह नहीं घेरता |
चरण 5: एनिमेशन के साथ छिपाना/दिखाना
import android.animation.Animator
import android.animation.ObjectAnimator
// फेड आउट
ObjectAnimator.ofFloat(button, "alpha", 1f, 0f).apply {
duration = 300
addListener(object : Animator.AnimatorListener {
override fun onAnimationEnd(animation: Animator?) {
button.visibility = View.GONE
}
override fun onAnimationStart(animation: Animator?) {}
override fun onAnimationCancel(animation: Animator?) {}
override fun onAnimationRepeat(animation: Animator?) {}
})
start()
}
// फेड इन
button.visibility = View.VISIBLE
ObjectAnimator.ofFloat(button, "alpha", 0f, 1f).apply {
duration = 300
start()
}
चरण 6: पैरेंट से व्यू पूरी तरह हटाना
(button.parent as? ViewGroup)?.removeView(button)
चरण 7: AndroidManifest.xml कॉन्फ़िगर करें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.q11">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में किसी एक्टिविटी फ़ाइल को खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप चलने पर डिफ़ॉल्ट स्क्रीन देखें।