यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके Android में TextView (या Button) का लेआउट वेट और आकार प्रोग्रामेटिकली कैसे सेट किया जाता है। LayoutParams का उपयोग करके चौड़ाई/ऊंचाई सेट की जाती है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में UI जोड़ें
<?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"
android:gravity="center"
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:onClick="expand"
android:text="Hello World"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3: MainActivity.kt में LayoutParams सेट करें
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.RelativeLayout
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
}
fun expand(view: View) {
val height = RelativeLayout.LayoutParams.WRAP_CONTENT
val width = 200
val layoutParams = RelativeLayout.LayoutParams(width, height)
val button: Button = findViewById(R.id.button)
button.layoutParams = layoutParams
}
}
चरण 4: LinearLayout में वेट सेट करने का सही तरीका
यदि पैरेंट LinearLayout है, तो layout_weight इस प्रकार सेट करें:
val layoutParams = LinearLayout.LayoutParams(
0, // width = 0 जब weight उपयोग कर रहे हों
LinearLayout.LayoutParams.WRAP_CONTENT
).apply {
weight = 1.5f // वेट मान
}
textView.layoutParams = layoutParams
चरण 5: 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 आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप चलने पर डिफ़ॉल्ट स्क्रीन देखें।
मुख्य LayoutParams प्रकार:
LinearLayout.LayoutParams- weight, gravity सपोर्ट करता हैRelativeLayout.LayoutParams- नियम-आधारित पोजीशनिंगConstraintLayout.LayoutParams- कंस्ट्रेंट-आधारितFrameLayout.LayoutParams- सिंपल ग्रेविटी