यह उदाहरण दर्शाता है कि Kotlin में RelativeLayout.LayoutParams का उपयोग करके व्यू की एब्सोल्यूट पोजीशन (X, Y कोऑर्डिनेट) कैसे सेट की जाती है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project, भाषा Kotlin चुनें।
चरण 2: लेआउट XML
res/layout/activity_main.xml - खाली RelativeLayout कंटेनर:
<?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:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
</RelativeLayout>
चरण 3: MainActivity.kt
package com.app.sample
import android.os.Bundle
import android.widget.ImageView
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)
val relativeLayout = findViewById(R.id.relativeLayout)
val imageView = ImageView(this).apply {
setImageResource(R.drawable.image)
scaleType = ImageView.ScaleType.CENTER_CROP
}
// LayoutParams में एब्सोल्यूट पोजीशन सेट करें
val params = RelativeLayout.LayoutParams(600, 800).apply {
leftMargin = 100 // X कोऑर्डिनेट
topMargin = 300 // Y कोऑर्डिनेट
}
relativeLayout.addView(imageView, params)
}
}
महत्वपूर्ण नोट्स
- leftMargin/topMargin पैरेंट के टॉप-लेफ्ट से दूरी हैं
- यह तरीका फिक्स्ड पोजीशनिंग के लिए है - रिस्पॉन्सिव डिज़ाइन के लिए ConstraintLayout उपयोग करें
- डिवाइस रोटेशन/स्क्रीन साइज़ बदलने पर पोजीशन गलत हो सकती है
बेहतर विकल्प: ConstraintLayout (रिस्पॉन्सिव)
<androidx.constraintlayout.widget.ConstraintLayout ...>
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_margin="16dp"
app:layout_constraintTop_margin="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
प्रोग्रामेटिकली ConstraintLayout में पोजीशन सेट करें
val constraintLayout = findViewById(R.id.constraintLayout) val imageView = ImageView(this).apply { id = View.generateViewId() setImageResource(R.drawable.image) } val params = ConstraintLayout.LayoutParams( ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.WRAP_CONTENT ).apply { startToStart = ConstraintLayout.LayoutParams.PARENT_ID topToTop = ConstraintLayout.LayoutParams.PARENT_ID marginStart = 100 marginTop = 300 } constraintLayout.addView(imageView, params)
चरण 4: AndroidManifest.xml
मानक मैनिफेस्ट।
ऐप चलाएं
डिवाइस कनेक्ट करें, Run करें। इमेज (100, 300) पोजीशन पर 600x800 साइज़ में दिखाई देगी।
