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

Android में व्यू की स्थिति को डायनामिकली कैसे सेट करें?

Android में व्यू की स्थिति प्रोग्रामेटिकली बदलने का गाइड

यह ट्यूटोरियल दिखाता है कि कैसे RelativeLayout.LayoutParams और addRule() का उपयोग करके रनटाइम पर एक व्यू (TextView) की स्थिति को दूसरे व्यू (Button) के सापेक्ष बदला जाए।

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

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

चरण 2: लेआउट फ़ाइल में कोड जोड़ें

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">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textStyle="bold|italic"
        android:text="Sample TextView"
        android:padding="10dp" />
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Put text below this button"
        android:layout_centerInParent="true" />
</RelativeLayout>

चरण 3: MainActivity.java में कोड जोड़ें

src/MainActivity.java में:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    Button button;
    TextView textView;
    RelativeLayout relativeLayout;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        relativeLayout = findViewById(R.id.relativeLayout);
        textView = findViewById(R.id.textView);
        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) textView.getLayoutParams();
                layoutParams.addRule(RelativeLayout.BELOW, button.getId());
                layoutParams.addRule(RelativeLayout.ALIGN_LEFT, button.getId());
                textView.setLayoutParams(layoutParams);
            }
        });
    }
}

मुख्य बिंदु

  • getLayoutParams() वर्तमान लेआउट पैरामीटर्स प्राप्त करता है
  • addRule() RelativeLayout नियम जोड़ता है (BELOW, ALIGN_LEFT, आदि)
  • setLayoutParams() नए पैरामीटर्स लागू करता है
  • पैरेंट लेआउट RelativeLayout होना चाहिए

सामान्य RelativeLayout नियम

नियमविवरण
BELOWनिर्दिष्ट व्यू के नीचे रखें
ABOVEनिर्दिष्ट व्यू के ऊपर रखें
ALIGN_LEFTबाएं किनारे संरेखित करें
ALIGN_RIGHTदाएं किनारे संरेखित करें
CENTER_IN_PARENTपैरेंट में केंद्रित करें

चरण 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>

ऐप चलाएं

डिवाइस कनेक्ट करें, Run आइकन पर क्लिक करें, बटन दबाएं और TextView को बटन के नीचे जाते देखें।

  1. Android में बैकग्राउंड ड्रॉएबल को प्रोग्रामेटिकली कैसे सेट करें? Android में बैकग्राउंड ड्रॉएबल को प्रोग्रामेटिकली कैसे सेट करें?

    Android में व्यू का बैकग्राउंड ड्रॉएबल प्रोग्रामेटिकली सेट करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे setBackgroundResource() का उपयोग करके किसी भी व्यू (यहां RelativeLayout) का बैकग्राउंड इमेज/ड्रॉएबल रनटाइम पर बदला जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया

  1. एंड्रॉइड में TextView स्पैन का कलर कैसे सेट करें? एंड्रॉइड में TextView स्पैन का कलर कैसे सेट करें?

    SpannableString और ForegroundColorSpan के साथ आंशिक टेक्स्ट कलरिंग यह उदाहरण दर्शाता है कि SpannableString का उपयोग करके TextView के विशिष्ट भागों का टेक्स्ट कलर कैसे बदलें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में TextView res/layout/activity_main.x

  1. एंड्रॉइड में बटन कैसे हटाएं या अदृश्य करें? एंड्रॉइड में बटन कैसे हटाएं या अदृश्य करें?

    View.VISIBLE, INVISIBLE, GONE के साथ बटन विजिबिलिटी कंट्रोल यह उदाहरण दर्शाता है कि setVisibility() का उपयोग करके बटन को अदृश्य (INVISIBLE) या पूरी तरह से हटाएं (GONE) कैसे करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में दो बटन res/layout/activity_mai