আমি কীভাবে প্রতিকৃতি এবং ল্যান্ডস্কেপ অরিয়েন্টেশনের জন্য আলাদা বিন্যাস নির্দিষ্ট করব?


142

আমি কোনও ক্রিয়াকলাপের জন্য দুটি পৃথক বিন্যাসের এক্সএমএল ফাইল নির্দিষ্ট করতে সক্ষম হওয়ার জন্য উল্লেখগুলি দেখেছি, একটি প্রতিকৃতি এবং ল্যান্ডস্কেপের জন্য একটি। যদিও এটি করা যায় সে সম্পর্কে আমি কোনও তথ্য খুঁজে পাইনি। কোন এক্সএমএল ফাইল এটি প্রতিকৃতি বিন্যাস এবং ল্যান্ডস্কেপ লেআউটটি প্রতিটি ক্রিয়াকলাপের জন্য কীভাবে নির্দিষ্ট করব?

বিভিন্ন পর্দার আকারের জন্য বিভিন্ন লেআউট নির্দিষ্ট করা কি সম্ভব? যদি তাই হয়, কিভাবে এই কাজ করা হয়?

উত্তর:


203

layout-landডিরেক্টরি তৈরি করুন এবং আপনার লেআউট XML ফাইলের ল্যান্ডস্কেপ সংস্করণটিকে সেই ডিরেক্টরিতে রেখে দিন put


3
এর অর্থ কি এই যে আমি সমস্ত কাজ করে তবে সমস্ত ক্রিয়াকলাপের জন্য ল্যান্ডস্কেপ এবং প্রতিকৃতি উভয়ই সংজ্ঞায়িত করা প্রয়োজন?
জে আসসরেন

20
না, যদি কোনও বিন্যাস-জমি সংজ্ঞা বিদ্যমান না থাকে তবে এটি কেবলমাত্র স্ট্যান্ডার্ড লেআউট ডিরেক্টরিতে এক্সএমএল লেআউট ব্যবহার করে।
মার্ক বি

আমার ক্ষেত্রে, অ্যান্ড্রয়েড ব্যবহার করার সময় লেআউট-ল্যান্ড কাজ করছে না: কনফিগারেশন = "ওরিয়েন্টেশন | কীবোর্ডহাইডার | স্ক্রিন সাইজ"
তুষার পান্ডে

9
অ্যান্ড্রয়েড থেকে ওরিয়েন্টেশন সরান: কনফিগারেশন = "ওরিয়েন্টেশন | কীবোর্ডহিডান | স্ক্রিন সাইজ"
উশাল নাইডু

60

ওরিয়েন্টেশন এবং রেজোলিউশনের উপর নির্ভর করে আপনাকে আলাদা আলাদা নামের সাথে আলাদা আলাদা ফোল্ডারের নীচে রেখে দিতে হবে, ডিভাইসটি স্বয়ংক্রিয়ভাবে তার স্ক্রিন সেটিংসের জন্য সঠিকটি নির্বাচন করবে

এখানে আরও তথ্য:

http://developer.android.com/guide/practices/screens_support.html

"পর্দার আকার এবং ঘনত্বের জন্য রিসোর্স ডিরেক্টরি কোয়ালিফায়ার" এর অধীনে


কেবল ওএস সংস্করণ 1.6 বা ততোধিকের জন্য কাজ করে। আপনি যদি 1.5 কে সমর্থন করতে চান তবে আপনার এই লিঙ্কটি দরকার: বিকাশকারী.অ্যান্ড্রয়েড.
1.5.html

2
@ সিলভিও ডোনিনি - লিঙ্কগুলিতে আর প্রয়োজনীয় তথ্য নেই।
itaboutcode

2
@itsaboutcode হ্যাঁ এটি করে: "কনফিগারেশন কোয়ালিফায়ার ব্যবহার করে" নেমে যান
ন্যানেশন

26

মাউস প্রেমীদের জন্য! আমি বলি রিসোর্স ফোল্ডারে ডান ক্লিক করুন এবং Add new resource file, এবং উপলব্ধ বাছাইপদ থেকে orientation:

এখানে চিত্র বর্ণনা লিখুন


তবে তবুও আপনি নিজে নিজে এটি বলতে পেরে সাব-ফোল্ডারটিকে "লেআউট-ল্যান্ড" যোগ করতে পারেন

"আপনার-প্রজেক্ট-ডিরেক্টরি \ অ্যাপ্লিকেশন \ src \ প্রধান \ মাঝামাঝি"

তারপরে এই উপ-ফোল্ডারের অধীনে কোনও লেআউট.এক্সএমএল ফাইল স্বয়ংক্রিয়ভাবে ল্যান্ডস্কেপ মোডের জন্য কাজ করবে

প্রতিকৃতি মোডের জন্য "লেআউট-পোর্ট" ব্যবহার করুন।


1
এটি আমার পক্ষে কাজ করেছে। আমি প্রতিকৃতি সংস্করণ হিসাবে একই নামে নির্দেশিত হিসাবে একটি নতুন লেআউট ফাইল যুক্ত। অ্যান্ড্রয়েড স্টুডিও স্বয়ংক্রিয়ভাবে সেই বিন্যাসের জন্য একটি ফোল্ডার তৈরি করেছে। প্রতিকৃতির জন্য একটি বিন্যাস এবং অন্য ল্যান্ডস্কেপ জন্য layout স্ক্রিনটি ঘোরানোর সময় নতুন লেআউট স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়।
স্মিট্টি-ওয়ারবেন-জাগার-মানজেনসন

23

কেবল একটি অনুস্মারক:

আপনি যদি এটি সংজ্ঞায়িত করেন তবে আপনার ম্যানিফেস্ট ফাইলের ক্রিয়াকলাপের জন্য বৈশিষ্ট্য orientationথেকে সরান :android:configChangesxml

android:configChanges="orientation|screenLayout|screenSize"

1
যদি আমার অ্যান্ড্রয়েডের দরকার হয় তবে কী হবে: কনফিগারেশনস = "ওরিয়েন্টেশন | স্ক্রিনলয়আউট | স্ক্রিন সাইজ" আমার ম্যানিফেস্টে, যেমন আমার কিছু টুকরো উভয় দিকেই হতে পারে এবং কিছু নাও পারে, তবে এখনও সেই টুকরোগুলির জন্য ল্যান্ডস্কেপ এবং প্রতিকৃতির জন্য আলাদা লেআউট দরকার need গতিশীলভাবে ওরিয়েন্টেশন পরিবর্তন করতে পারেন?
নাটানসালদা

9

অ্যান্ড্রয়েড স্টুডিও xx.১০ এক্সএক্স এবং অ্যান্ড্রয়েড স্টুডিও ৪.৪.০ এক্সের দ্রুততম উপায়

1. কার্যকলাপ বিন্যাসের ডিজাইন ট্যাবে যান tab

২. প্রিভিউ বোতামের জন্য ওরিয়েন্টেশনটিতে শীর্ষে থাকা উচিত, একটি ল্যান্ডস্কেপ লেআউট (চেক চেক) তৈরি করার বিকল্প রয়েছে, সেই নির্দিষ্ট অরিয়েন্টেশনের জন্য আপনার এক্সএমএল লেআউট ফাইল হিসাবে একটি নতুন ফোল্ডার তৈরি করা হবে

এখানে চিত্র বর্ণনা লিখুন


4

আমি মনে করি সর্বশেষতম অ্যান্ড্রয়েড সংস্করণগুলির সবচেয়ে সহজ উপায়টি কোনও এক্সএমএলের ডিজাইন মোডে (পাঠ্য নয়)।

তারপরে মেনু থেকে, বিকল্পটি নির্বাচন করুন - ল্যান্ডস্কেপ ভেরিয়েশন তৈরি করুন। এটি কয়েক সেকেন্ডের মধ্যে কোনও ঝামেলা ছাড়াই একটি ল্যান্ডস্কেপ এক্সএমএল তৈরি করবে। সর্বশেষতম অ্যান্ড্রয়েড স্টুডিও সংস্করণ আপনাকে এখনই একটি ল্যান্ডস্কেপ ভিউ তৈরি করার অনুমতি দেয়।

এখানে চিত্র বর্ণনা লিখুন

আমি আশা করি এটি আপনার পক্ষে কাজ করে।


3

একটি নতুন ডিরেক্টরি layout-landতৈরি xmlকরুন , তারপরে layout-landযেমন নাম ছিল তেমন ফাইল তৈরি করুন layout এবং ল্যান্ডস্কেপ মোডের জন্য আপনার সামগ্রীটি সারিবদ্ধ করুন।

মনে রাখবেন যে উভয়ের সামগ্রীর আইডি xmlএকই।


3

নীচের শেষ লাইনটি দুটি কোয়ানটিফায়ার প্রয়োগের জন্য একটি উদাহরণ: ল্যান্ডস্কেপ এবং ক্ষুদ্রতম প্রস্থ (600 ডিপি) স্ক্রিন। আপনার প্রয়োজন অনুসারে 600dp আপডেট করুন।

res/layout/main_activity.xml                # For handsets
res/layout-land/main_activity.xml           # For handsets in landscape
res/layout-sw600dp/main_activity.xml        # For 7” tablets
res/layout-sw600dp-land/main_activity.xml   # For 7” tablets in landscape

উপরেরগুলি ডাইমেনগুলিতেও প্রযোজ্য

res/values/dimens.xml                # For handsets
res/values-land/dimens.xml           # For handsets in landscape
res/values-sw600dp/dimens.xml        # For 7” tablets
res/values-sw600dp-land/dimens.xml   # For 7” tablets in landscape

একটি দরকারী ডিভাইস মেট্রিক্স: https://matory.io/tools/devices/


2

অথবা এটি ব্যবহার করুন:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:scrollbars="vertical" 
            android:layout_height="wrap_content" 
            android:layout_width="fill_parent">

  <LinearLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

     <!-- Add your UI elements inside the inner most linear layout -->

  </LinearLayout>
</ScrollView>

0
  1. রাইট ফোল্ডারটি ক্লিক করুন,
  2. নতুন -> অ্যান্ড্রয়েড রিসোর্স ফাইল
  3. উপলব্ধ বাছাইপর্বে, ওরিয়েন্টেশন নির্বাচন করুন,
  4. নির্বাচিত বাছাইপর্বে যোগ করুন
  5. স্ক্রিন ওরিয়েন্টেশনে, ল্যান্ডস্কেপ নির্বাচন করুন
  6. ঠিক আছে টিপুন

অ্যান্ড্রয়েড স্টুডিও ৩.৪.১ ব্যবহার করে এটি আর layout-landফোল্ডার তৈরি করে না । এটি একটি ফোল্ডার তৈরি করবে এবং দুটি লেআউট ফাইল একসাথে রাখবে।

এখানে চিত্র বর্ণনা লিখুন


2
ত্রুটিপূর্ণ. আপনি ফোল্ডার ভিউ মোড ব্যবহার করছেন না (যেমন "প্রকল্প")। আপনি সম্ভবত "অ্যান্ড্রয়েড" ভিউ মোড ব্যবহার করছেন, যা আপনার স্ক্রিনশটের মতো ভার্চুয়াল ফোল্ডারে যেমন ফাইলগুলি একসাথে গ্রুপ করে তবে প্রকৃত ফোল্ডার কাঠামো এখনও এখানে প্রতিটি অন্যান্য পোস্টের বর্ণনা দেয়।
monK_
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.