android - tutorial - ইন্টেলিজ আইডিইএ/অ্যান্ড্রয়েড স্টুডিওতে মার্জ রুট ট্যাগ সহ পূর্বরূপ বিন্যাস



android studio apk (2)

একটি নতুন প্যারেন্টট্যাগ সরঞ্জাম বৈশিষ্ট্য রয়েছে ( Android স্টুডিও 2.2 এ যোগ করা হয়েছে ) যা আপনি মার্জ ট্যাগের জন্য লেআউট টাইপ নির্দিষ্ট করতে ব্যবহার করতে পারেন, যা লেআউট সম্পাদক পূর্বরূপতে লেআউটটিকে সঠিকভাবে রেন্ডার করে।

তাই আপনার উদাহরণ ব্যবহার করে:

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:parentTag="LinearLayout"
    tools:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some text"
        android:textSize="20sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some other text"/>
</merge>

নোট : উভয় android:layout_width এবং android:layout_height সম্পাদকটিতে সঠিকভাবে প্রদর্শন করার জন্য অবশ্যই উল্লেখ করা উচিত।

https://ffff65535.com

আসুন আমরা কল্পনা করি আমরা লিনিয়ার এলয়েটের উপর ভিত্তি করে যৌগিক উপাদান তৈরি করছি। সুতরাং, আমরা এইরকম শ্রেণী তৈরি করি:

public class SomeView extends LinearLayout {
    public SomeView(Context context, AttributeSet attrs) {
        super(context, attrs);

        setOrientation(LinearLayout.VERTICAL);
        View.inflate(context, R.layout.somelayout, this);
    }
}

যদি আমরা somelayout.xml মূল হিসাবে somelayout.xml ব্যবহার করব, আমাদের অতিরিক্ত দর্শন স্তর থাকবে, তাই আমরা মার্জ ট্যাগ ব্যবহার করি:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some text"
        android:textSize="20sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Some other text"/>
</merge>

কিন্তু আইডিইতে বিভাজন ট্যাবে সর্বদা ফ্রেমএলআউট হিসাবে কাজ করে, এবং আমরা এমন কিছু দেখব:

(এটি অ্যান্ড্রয়েড স্টুডিও, ইন্টেলিজ আইডিইএ ঠিক একই, গ্রহন সম্পর্কে আমি জানি না)

লেআউটগুলি ডেভেলপ করার গতিকে অনেকগুলি আপগ্রেড করে, এমনকি কিছু লেআউটের জন্য এমনকি এটির জন্য দুর্দান্ত সাহায্য হারান। নির্দিষ্ট করার একটি উপায় থাকতে পারে, কীভাবে পূর্বনির্ধারিত বিন্যাসে merge ট্যাগ ব্যাখ্যা করা উচিত?


মত মজাদার পরিবর্তে পিতা হিসাবে সম্ভাব্য ব্যবহার কাস্টম ক্লাস

<com.mycompany.SomeView xmlns:android="http://schemas.android.com/apk/res/android">
...
</com.mycompany.SomeView>

এবং তারপরে সরাসরি এই লেআউটটি SomeView এবং SomeView ফলাফল ফলাফল দেখুন। অ্যান্ড্রয়েড স্টুডিও সরাসরি SomeView পিতা-মাতা ক্লাস পরীক্ষা করে এবং LinerLayout মত পূর্বরূপ পরিচালনা LinerLayoutonFinishInflate() দ্বারা মতামত বাঁধার জন্য আপনি SomeView onFinishInflate() পদ্ধতিটি ব্যবহার করতে পারেন। এই সমাধানটির setOrientation() আপনি লেআউট ফাইলের সমস্ত লেআউট সংজ্ঞা বা শৈলী সংজ্ঞা সরাসরি রাখতে পারেন, আপনি setOrientation() কোড ব্যবহার করতে পারবেন না।





android-tools-namespace