কোডে লেআউট ওরিয়েন্টেশন


90

আমার আবেদনে এই কোডটি রয়েছে:

LinearLayout.LayoutParams params =
    new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);

এবং আমি কেবল লিনিয়ারলআউটটির ওরিয়েন্টেশনটি উল্লম্বভাবে সেট করতে চাই। এক্সএমএলের সমতুল্য হ'ল:

android:orientation="vertical"

এক্সএমএল ছাড়াই আমি কীভাবে কোডটিতে এটি করতে পারি?

উত্তর:


188

আপনি LinearLayoutএটির ব্যবহার করে ওরিয়েন্টেশন পরিবর্তন করতে পারবেন না LayoutParams। এটি কেবল কোনও LinearLayoutবস্তুর সাহায্যে করা যেতে পারে ।

LinearLayout layout = /* ... */;
layout.setOrientation(LinearLayout.VERTICAL);

8

আপনি এটির মতো ব্যবহার করতে পারেন:

LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout);
myll.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
myll.setOrientation(LinearLayout.VERTICAL);

4
দ্বিতীয় লাইন হওয়া উচিতmyLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
abhyudayasrinet

4

আপনি লিনিয়ারলআউট উদাহরণ প্রয়োজন। এর পরে আপনি সেট ওরিয়েন্টেশন ()

LinearLayout myLayout = ...;
myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT);
myLayout.setOrientation(LinearLayout.VERTICAL);

কাজটি করা উচিত :)

আরও ইনফোসের জন্য অ্যান্ড্রয়েড এপিআই পরীক্ষা করুন ।


2

নীচে একটি কাজের নমুনা (এটি লেআউটপ্যারামস W

myLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
myLayout.setLayoutParams(layoutParams);

2

জামারিনের উত্তর খুঁজতে আমার মতো অন্য কেউ এখানে আসার ক্ষেত্রে সমতুল্য:

LinearLayout layout = /* ... */;
layout.Orientation = Orientation.Vertical;
layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);

-6

সহজভাবে অনুসরণ হিসাবে ব্যবহার করুন: -

LinearLayout mlayout = new LinearLayout(context);
mlayout.setOrientation(2);

2 এর অর্থ Vertical, 1 এর জন্য ব্যবহৃত হয় horizontal


4
উত্তর গৃহীত হওয়ার 4 বছর পরে কেন আপনি ফিরে আসবেন এবং আরও খারাপ উত্তর দেবেন? আপনার '2' ব্যবহার করা উচিত নয়। আপনার লিনিয়ারলআউটে সংজ্ঞায়িত স্থির মানগুলি ব্যবহার করা উচিত, যেমন লিনিয়ারলআউট.ভেরিকাল tical
স্টিলথ রাব্বি

কারণ আমি জানতে চেয়েছিলাম আমি সঠিক না ভুল। :) এখন আমি শিখেছি যে লিনিয়ারলআউটে সংজ্ঞায়িত স্ট্যাটিক মানগুলি ব্যবহার করা আরও ভাল। :-)
ইয়ামা রাহি

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

আমি কেবল আমার বন্ধুকে অবদান রাখতে চেয়েছিলাম, আমার ক্ষেত্রে এটি কাজ করেছিল এবং আমি তার পক্ষে মন্তব্য করেছি। বিটিডাব্লু, যদি 2 এবং 1 ব্যবহার করা ভুল হয়, তবে কেন এটি বিদ্যমান?
ইয়াম রাহি

এটি উপস্থিত রয়েছে কারণ এটি লাইনারিআউটে সংজ্ঞায়িত স্ট্যাটিক ধ্রুবকগুলির সাথে সংযুক্ত কাঁচা মান হিসাবে @ স্টিলথ রাব্বি উল্লেখ করেছেন। তবে আপনার কখনই এই মানগুলি ব্যবহার করা উচিত নয়।
ড্যানিয়েল মোলিনা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.