আমি একটি আছে LinearLayout
ভিতরে ScrollView
আছে android:layout_height="fill_parent"
, কিন্তু এটা পূর্ণ উচ্চতা প্রসারিত নেই ScrollView
। আমার লেআউটটি এমন দেখাচ্ছে:
level layout layout_width layout_height
1 LinearLayout fill_parent fill_parent
2 LinearLayout fill_parent wrap_content
3 (some irrelevant stuff)
2 ScrollView fill_parent fill_parent <-- this expands full height
3 LinearLayout fill_parent fill_parent <-- this does not (has orientation=vertical)
(following stuff probably are irrelevant, but just to be sure:)
4 TextView fill_parent fill_parent
4 LinearLayout fill_parent wrap_content
আমি দেখতে পাচ্ছি যে LinearLayout
এটির পূর্ণ উচ্চতাটি প্রসারিত করে না ScrollView
কারণ গ্রহন ইনতে Android Layout Editor
, আমি যদি এটি নির্বাচন করি ScrollView
(আউটলাইন প্যানেলে) এটি একটি লাল সীমানা দিয়ে হাইলাইট করা হয় যা নীচে স্ক্রিনটি পূর্ণ করে তবে আমি যখন LinearLayout
এর হাইলাইটটি নির্বাচন করি তখন পর্দার নীচে প্রসারিত হয় না। আমি এটি কীভাবে এটি করতে পারি?
আমি যে প্রভাবটি অর্জন করতে চাইছি তা হ'ল এর নীচে কিছু পাঠ্য এবং একটি বোতাম রয়েছে ( LinearLayout
4 স্তরের ভিতরে কেবল একটি বোতাম আছে)। স্ক্রোলবারের জন্য টেক্সটটি যথেষ্ট বড় হতে পারে, সেই ক্ষেত্রে আমি চাইব যে বোতামটি দেখতে ব্যবহারকারীকে নীচে স্ক্রোল করতে হবে। যদি স্ক্রোল বারের জন্য পাঠ্যটি যথেষ্ট পরিমাণে বড় না হয় তবে আমি চাই LinearLayout
যে বোতামটি ধারণ করে স্ক্রিনের নীচে আটকে থাকবে।
প্রথমে আমি ভেবেছিলাম আমার সম্পূর্ণ এক্সএমএল পোস্ট করা উচিত নয় কারণ একটি প্রশ্নের মধ্যে কোডের বিশাল অংশ দেখার জন্য এটি সাধারণত টার্ন ডাউন হয়। তবে এটি মনে হয় এটি প্রয়োজনীয় হতে পারে, সুতরাং এখানে সম্পূর্ণ বিন্যাসটি layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/video_layout"
android:focusable="true"
style="@style/VideoLayout">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foreground="@android:drawable/ic_media_play"
android:foregroundGravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/video_thumb"
android:padding="5dip"
android:background="#454545"/>
</FrameLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="true"
style="@style/VideoTitle"
android:id="@+id/video_title"
android:layout_gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<!-- this ScrollView expands the full height of the screen.
However, the next LinearLayout does not expand the full height of the ScrollView -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_gravity="fill"
android:orientation="vertical"
android:id="@+id/info_layout">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/info_body"
style="@style/InfoText"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
style="@android:style/ButtonBar">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:text="@string/button_readmore"
android:id="@+id/btn_read_more"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
এই মুহুর্তে আমি android:layout_gravity="bottom"
সমস্যায় পড়েছি LinearLayout
, যা বোতামটি পর্দার নীচে স্থির করে দেয় তা যাই হোক না কেন। তবে এটি পাঠ্যটিকে পর্দার নীচে আটকে দেয় যা আমি পরে যা করেছি ঠিক তা নয়।
আপডেট: স্ক্র্যাচ যা অক্ষমকে ভাল করে স্ক্রোল android:layout_gravity="bottom"
করে তোলে ScrollView
। অন্যান্য ধারণা?
android:weight
।