কেউ কি সাহায্য কেমন করে আমাকে প্রস্থ সেট করতে পারি TextView
করার wrap_content
কোড মাধ্যমে এবং XML থেকে না?
আমি গতিশীলভাবে একটি TextView
কোড তৈরি করছি , সুতরাং wrap_content
কোডের মাধ্যমে এর প্রস্থটি কীভাবে সেট করা যায় তার উপায় আছে ?
কেউ কি সাহায্য কেমন করে আমাকে প্রস্থ সেট করতে পারি TextView
করার wrap_content
কোড মাধ্যমে এবং XML থেকে না?
আমি গতিশীলভাবে একটি TextView
কোড তৈরি করছি , সুতরাং wrap_content
কোডের মাধ্যমে এর প্রস্থটি কীভাবে সেট করা যায় তার উপায় আছে ?
উত্তর:
TextView pf = new TextView(context);
pf.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
বিভিন্ন লেআউটের মতো ConstraintLayout
এবং অন্যদের জন্য তাদের নিজস্ব LayoutParams
মত রয়েছে:
pf.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
বা
parentView.addView(pf, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
একই ফল অর্জনের জন্য আরও একটি উপায় রয়েছে। আপনার কেবলমাত্র একটি পরামিতি সেট করতে হবে, উদাহরণস্বরূপ 'উচ্চতা':
TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.setLayoutParams(params);
LinearLayout
এটি ll.invalidate()
প্রয়োজনীয় তা উপস্থিত হয় না । কেন?
সামগ্রীর মোড়কে পরিবর্তনের TextView
প্রস্থের জন্য সমাধান ।
textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
textView.requestLayout();
// Call requestLayout() for redraw your TextView when your TextView is already drawn (laid out) (eg: you update TextView width when click a Button).
// If your TextView is drawing you may not need requestLayout() (eg: you change TextView width inside onCreate()). However if you call it, it still working well => for easy: always use requestLayout()
// Another useful example
// textView.getLayoutParams().width = 200; // For change `TextView` width to 200 pixel
আমি অ্যান্ড্রয়েড জাভা বেস মাল্টি লাইন এডিটেক্সট পোস্ট করছি।
EditText editText = findViewById(R.id.editText);/* edittext access */
ViewGroup.LayoutParams params = editText.getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
editText.setLayoutParams(params); /* Gives as much height for multi line*/
editText.setSingleLine(false); /* Makes it Multi line */
আমি মনে করি এই কোডটি আপনার প্রশ্নের উত্তর দেয়
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)
holder.desc1.getLayoutParams();
params.height = RelativeLayout.LayoutParams.WRAP_CONTENT;
holder.desc1.setLayoutParams(params);
এই পোস্টে একটি সামান্য আপডেট: আপনি যদি আপনার অ্যান্ড্রয়েড প্রকল্পের মধ্যে কেটিএক্স ব্যবহার করছেন তবে একটি ছোট সহায়ক সহায়ক পদ্ধতি যা লেআউটপ্যারামগুলিকে আপডেট করা আরও সহজ করে তোলে।
আপনি যদি আপডেট করতে চান তবে কেবল প্রস্থ আপনি কোটলিনে নিম্নলিখিত লাইনের সাহায্যে এটি করতে পারেন।
tv.updateLayoutParams { width = WRAP_CONTENT }
android.view.ViewGroup$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams