XR-এর জন্য Jetpack রচনা

ঘোষণামূলকভাবে স্থানিক UI লেআউট তৈরি করুন যা Android XR-এর স্থানিক ক্ষমতার সুবিধা নেয়।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
ডিসেম্বর 12, 2024 - - - 1.0.0-আলফা01

নির্ভরতা ঘোষণা করা

XR রচনার উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.xr.compose:compose:1.0.0-alpha01"

    // Use to write unit tests
    testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha01"
}

কোটলিন

dependencies {
    implementation("androidx.xr.compose:compose:1.0.0-alpha01")

    // Use to write unit tests
    testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha01")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.0

সংস্করণ 1.0.0-alpha01

ডিসেম্বর 12, 2024

androidx.xr.compose:compose-*1.0.0-alpha01 প্রকাশিত হয়েছে।

প্রাথমিক রিলিজের বৈশিষ্ট্য

  • XR-এর জন্য জেটপ্যাক কম্পোজের প্রাথমিক বিকাশকারী প্রকাশ। XR-এ স্থানিক UI লেআউট তৈরি করতে সারি এবং কলামগুলির মতো পরিচিত রচনা ধারণাগুলি ব্যবহার করুন, আপনি XR-এ একটি বিদ্যমান 2D অ্যাপ পোর্ট করছেন বা স্ক্র্যাচ থেকে একটি নতুন XR অ্যাপ তৈরি করছেন। এই লাইব্রেরিটি সাবস্পেস এবং স্থানিক কম্পোজেবল সরবরাহ করে: যেমন স্থানিক প্যানেল এবং অরবিটার, যা আপনাকে আপনার বিদ্যমান 2D রচনা বা ভিউ-ভিত্তিক UI একটি স্থানিক বিন্যাসে রাখতে দেয়। এটি ভলিউম সাবস্পেস কম্পোজেবল প্রবর্তন করে, যা আপনাকে আপনার UI এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore সত্তা স্থাপন করতে দেয়। এই বিকাশকারী গাইডে আরও জানুন:

    • Subspace : এই সংমিশ্রণযোগ্যটিকে আপনার অ্যাপের UI অনুক্রমের মধ্যে যে কোনও জায়গায় স্থাপন করা যেতে পারে, যা আপনাকে ফাইলগুলির মধ্যে প্রসঙ্গ না হারিয়ে 2D এবং স্থানিক UI এর জন্য লেআউটগুলি বজায় রাখতে দেয়৷ এটি আপনার পুরো UI ট্রির মাধ্যমে স্টেট উত্তোলনের প্রয়োজন ছাড়াই XR এবং অন্যান্য ফর্ম ফ্যাক্টরগুলির মধ্যে বিদ্যমান অ্যাপ আর্কিটেকচারের মতো জিনিসগুলিকে ভাগ করা সহজ করে তোলে বা আপনার অ্যাপকে পুনরায় আর্কিটেক্ট করার প্রয়োজন নেই৷

    • স্থানিক প্যানেল : একটি স্থানিক প্যানেল হল একটি সাবস্পেস কম্পোজেবল যা আপনাকে অ্যাপের সামগ্রী প্রদর্শন করতে দেয়-উদাহরণস্বরূপ, আপনি একটি স্থানিক প্যানেলে ভিডিও প্লেব্যাক, স্থির চিত্র বা অন্য কোনো সামগ্রী প্রদর্শন করতে পারেন।

    • অরবিটার : একটি অরবিটার হল একটি স্থানিক UI উপাদান। এটি একটি সংশ্লিষ্ট স্থানিক প্যানেলের সাথে সংযুক্ত করার জন্য ডিজাইন করা হয়েছে এবং এতে সেই স্থানিক প্যানেলের সাথে সম্পর্কিত নেভিগেশন এবং প্রাসঙ্গিক অ্যাকশন আইটেম রয়েছে৷ উদাহরণস্বরূপ, আপনি যদি ভিডিও সামগ্রী প্রদর্শনের জন্য একটি স্থানিক প্যানেল তৈরি করে থাকেন, তাহলে আপনি একটি অরবিটারের ভিতরে ভিডিও প্লেব্যাক নিয়ন্ত্রণ যোগ করতে পারেন।

    • ভলিউম : আপনার UI-এর সাথে সম্পর্কিত 3D মডেলের মতো SceneCore সত্তা রাখুন।

  • স্থানিক বিন্যাস: আপনি একাধিক স্থানিক প্যানেল তৈরি করতে পারেন এবং SpatialRow , SpatialColumn , SpatialBox , এবং SpatialLayoutSpacer ব্যবহার করে একটি স্থানিক বিন্যাসের মধ্যে রাখতে পারেন। আপনার লেআউট কাস্টমাইজ করতে SubspaceModifier s ব্যবহার করুন।

  • স্থানিক UI উপাদানগুলি: এই উপাদানগুলি আপনার 2D UI এ পুনরায় ব্যবহার করা যেতে পারে এবং স্থানিক ক্ষমতাগুলি সক্ষম হলেই তাদের স্থানিক বৈশিষ্ট্যগুলি দৃশ্যমান হবে৷

    • SpatialDialog : প্যানেল একটি উন্নত ডায়ালগ প্রদর্শন করতে z-গভীরতায় কিছুটা পিছনে ঠেলে দেবে।
    • SpatialPopUp : প্যানেল একটি উন্নত পপআপ প্রদর্শন করতে z-গভীরতায় কিছুটা পিছনে ঠেলে দেবে
    • SpatialElevation : SpatialElevationLevel উচ্চতা উচ্চতা যোগ করার জন্য সেট করা যেতে পারে।
  • স্থানিক সক্ষমতা: ব্যবহারকারীরা আপনার অ্যাপ বা সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার সাথে সাথে স্থানিক ক্ষমতাগুলি পরিবর্তিত হতে পারে, অথবা এমনকি আপনার অ্যাপের দ্বারাও পরিবর্তন করা যেতে পারে—উদাহরণস্বরূপ, হোম স্পেস বা পূর্ণ স্থানে চলে যাওয়া। সমস্যাগুলি এড়াতে, বর্তমান পরিবেশে কোন APIগুলি সমর্থিত তা নির্ধারণ করতে আপনার অ্যাপটিকে LocalSpatialCapabilities.current পরীক্ষা করতে হবে৷ isSpatialUiEnabled : Spatial UI উপাদান (যেমন SpatialPanel) isContent3dEnabled : 3D অবজেক্ট isAppEnvironmentEnabled : পরিবেশ isPassthroughControlEnabled : অ্যাপ্লিকেশনটি পাসথ্রু অবস্থা নিয়ন্ত্রণ করতে পারে কিনা তা স্থানিক অডিও isSpatialAudioEnabled : SpatialAudioEnabled

পরিচিত সমস্যা

  • বর্তমানে XR-এর জন্য Jetpack Compose ব্যবহার করতে 30-এর একটি minSDK প্রয়োজন৷ একটি সমাধান হিসাবে আপনি 23 এর একটি minSDK তৈরি করতে এবং চালাতে সক্ষম হতে নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> যোগ করতে পারেন।
  • Jetpack XR অ্যাপগুলির জন্য বর্তমানে AndroidManifest-এ android.permission.SCENE_UNDERSTANDING অনুমতির অনুরোধ করতে হবে।
  • একটি অ্যাপ যখন তাদের ম্যানিফেস্টে PROPERTY_XR_ACTIVITY_START_MODE প্রপার্টি ব্যবহার করে সরাসরি ফুল স্পেসে লঞ্চ হয়, তখন পূর্ণ স্পেসে রূপান্তর করার আগে অ্যাক্টিভিটি/অ্যাপ্লিকেশন প্রাথমিকভাবে হোম স্পেসে খোলা হয়।
  • ভলিউম কম্পোজেবলের glTFগুলি প্রাথমিকভাবে ভুল অবস্থানে ঝাঁকুনি দিতে পারে।
  • উল্লেখযোগ্যভাবে সরানো হয়েছে এমন একটি প্যানেলে একটি স্থানিক ডায়ালগ ব্যবহার করা বিষয়বস্তুটিকে ভুল দিকে ঠেলে দেবে৷