Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में व्यू की एब्सोल्यूट पोजीशन सेट करना

Android में प्रोग्रामेटिकली व्यू की एब्सोल्यूट पोजीशन सेट करना

यह उदाहरण दर्शाता है कि RelativeLayout.LayoutParams का उपयोग करके रनटाइम पर किसी व्यू (जैसे ImageView) को स्क्रीन पर विशिष्ट X, Y निर्देशांक पर कैसे रखा जाए।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें और प्रोजेक्ट बनाएं।

चरण 2: लेआउट - खाली RelativeLayout

res/layout/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"
    android:id="@+id/relativeLayout"
    tools:context=".MainActivity">
</RelativeLayout>

चरण 3: MainActivity.java - रनटाइम पर व्यू जोड़ना और पोजीशन करना

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        RelativeLayout rl = findViewById(R.id.relativeLayout);
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.image); // अपनी इमेज res/drawable में रखें
        
        // LayoutParams: width=500px, height=400px
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(500, 400);
        
        // एब्सोल्यूट पोजीशन: leftMargin=X, topMargin=Y
        params.leftMargin = 100;  // X निर्देशांक
        params.topMargin = 300;   // Y निर्देशांक
        
        rl.addView(iv, params);
    }
}

चरण 4: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">
    
    <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>

महत्वपूर्ण बिंदु

  • RelativeLayout एब्सोल्यूट पोजीशनिंग के लिए आवश्यक है
  • leftMargin = X निर्देशांक (बाएं से दूरी)
  • topMargin = Y निर्देशांक (ऊपर से दूरी)
  • पैरामीटर्स में चौड़ाई/ऊंचाई पिक्सेल में होती है
  • DP में बदलने के लिए: px = dp * (density)

DP में पोजीशन सेट करने का बेहतर तरीका

float density = getResources().getDisplayMetrics().density;
int xDp = 50;  // 50dp बाएं से
int yDp = 100; // 100dp ऊपर से

params.leftMargin = (int) (xDp * density);
params.topMargin = (int) (yDp * density);
params.width = (int) (200 * density);
params.height = (int) (150 * density);

अन्य लेआउट्स में पोजीशनिंग

लेआउटमेथड
RelativeLayoutLayoutParams में leftMargin, topMargin
ConstraintLayoutConstraintSet या Guideline उपयोग करें
FrameLayoutLayoutParams में leftMargin, topMargin
LinearLayoutएब्सोल्यूट पोजीशनिंग सपोर्ट नहीं करता

एनिमेशन के साथ मूव करना

// व्यू को नई पोजीशन पर एनिमेट करें
iv.animate()
    .x(newX)
    .y(newY)
    .setDuration(500)
    .start();

ऐप चलाएं

डिवाइस कनेक्ट करें, res/drawable/image.png इमेज जोड़ें, Run पर क्लिक करें। इमेज (100, 300) पोजीशन पर 500x400 साइज में दिखाई देगी।

  1. एंड्रॉइड में डायलॉग की स्क्रीन पोजीशन कैसे बदलें? एंड्रॉइड में डायलॉग की स्क्रीन पोजीशन कैसे बदलें?

    एंड्रॉइड में AlertDialog की पोजीशन सेट करना यह उदाहरण दिखाता है कि WindowManager.LayoutParams और Gravity का उपयोग करके डायलॉग को स्क्रीन पर किसी भी स्थान पर कैसे प्रदर्शित किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML (खा

  1. Android में EditText का इनपुट टाइप प्रोग्रामेटिकली कैसे सेट करें? Android में EditText का इनपुट टाइप प्रोग्रामेटिकली कैसे सेट करें?

    Java/Kotlin कोड से EditText के इनपुट टाइप (नंबर, टेक्स्ट, पासवर्ड, आदि) को डायनामिकली बदलने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=https://schema

  1. Android पर म्यूजिक स्लीप टाइमर कैसे सेट करें Android पर म्यूजिक स्लीप टाइमर कैसे सेट करें

    क्या आप सोने से पहले अपने फोन या टैबलेट पर मीडिया सुनने का आनंद लेते हैं? यदि हां, तो शायद आपको म्यूजिक स्लीप टाइमर का विचार पसंद आएगा। स्लीप टाइमर काउंटडाउन हैं जिन्हें आप सोने से पहले सेट कर सकते हैं। एक बार काउंटडाउन समाप्त हो जाने पर, यह आपके डिवाइस पर चल रहे ऑडियो को रोक देता है। लक्ष्य काउंटड