আপনি কীভাবে লিনিয়ারলআউটকে স্ক্রোলযোগ্য করতে পারেন?


241

আমার স্ক্রিনে প্রচুর আইটেম রয়েছে এবং আমার স্ক্রোলবারটি ব্যবহার করা দরকার যাতে ব্যবহারকারী নিচে স্ক্রোল করতে পারে। তবে, স্ক্রোলটি দৃশ্যমান নয় বা এটি কাজ করছে না। এটিতে কোনও স্ক্রোলবার যুক্ত করা কীভাবে সম্ভব LinearLayout?


উত্তর:


459

একটি সহ রৈখিক বিন্যাস মোড়ানো <ScrollView>

একটি উদাহরণের জন্য এখানে দেখুন:

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       xmlns:android="http://schemas.android.com/apk/res/android">
       <ScrollView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <LinearLayout 
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:orientation="vertical">
                  <!-- Content here -->
            </LinearLayout>
      </ScrollView>
 </LinearLayout>

দ্রষ্টব্য: ভরা_পিতাটি এপিআই লেভেল 8 এবং এর চেয়ে বেশি এর সাথে ম্যাচ_পিতা থেকে নামান্তরিত এবং পুনরায় নামকরণ করা হয় ।


1
@ ড্যানিয়েল ম্যাগনুসন লিঙ্কটি এখনও এখানে কাজ করে ... এখানে একটি ভিডিও গাইড রয়েছে: youtube.com/watch?v=kNX996ZZ2CI
ব্রায়ান ডেনি

33
আমার মনে হয় না আপনার বাইরের লিনিয়ারলআউট দরকার।
লরেন্স কেস্টেলুট

1
@ লরেন্স না, এটি প্রয়োজনীয় নয়, তবে আপনার বাকী মতামতটি কেমন তা নির্ভর করে can
ব্রায়ান ডেনি

1
উপরের লিনিয়ারলেআউটে যদি আপনার কাছে কেবল স্ক্রোলভিউ থাকে তবে আপনি এই সতর্কতাটি পান "এই স্ক্রোলভিউ লেআউটটি বা এর লিনিয়ারলআউট আউটপুট অকেজো; অন্য দৃশ্যে ব্যাকগ্রাউন্ড অ্যাট্রিবিউটটি স্থানান্তর করুন" যার অর্থ এটি কেবল একটি আইটেমের সাথে লিনিয়ারলেআউট হওয়া অর্থহীন।
নিলস

2
এবং কিছু আমদানি বিজ্ঞপ্তি: স্ক্রোলভিউয়ের অবশ্যই 1 টি শিশু থাকতে হবে
O-9

145
<ScrollView 
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/scroll" 
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

      <LinearLayout 
            android:id="@+id/container"
            android:orientation="vertical" 
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
      </LinearLayout>

 </ScrollView>

4

এটি ট্যাগ ব্যবহার করে করা যেতে পারে <ScrollView>। জন্য ScrollView , এক জিনিস আপনি যে মনে করিয়ে দিতে হবে, ScrollView একটি একক সন্তানের থাকতে হবে

আপনি যদি চান আপনার সম্পূর্ণ বিন্যাসটি স্ক্রোলযোগ্য হোক তবে <ScrollView>শীর্ষে যুক্ত করুন। নীচে দেওয়া উদাহরণ পরীক্ষা করুন।

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout 
        android:id="@+id/container" 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
            <!-- Content here -->
    </LinearLayout>

</ScrollView>

তবে আপনি যদি চান যে আপনার বিন্যাসের কিছু অংশ স্ক্রোলযোগ্য হোক তবে <ScrollView>সেই অংশের মধ্যে যুক্ত করুন । নীচে দেওয়া উদাহরণ পরীক্ষা করুন।

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="400dp">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
                <!-- Content here -->
        </LinearLayout>

    </ScrollView>

</LinearLayout>

4

এখানে আমি পরীক্ষার এবং ত্রুটি করে এটি করেছি।

ScrollView - (the outer wrapper).

    LinearLayout (child-1).

        LinearLayout (child-1a).

        LinearLayout (child-1b).

যেহেতু স্ক্রোলভিউয়ের একটিমাত্র শিশু থাকতে পারে, সেই শিশুটি একটি রৈখিক বিন্যাস। তারপরে অন্যান্য সমস্ত লেআউট প্রকার প্রথম লিনিয়ার বিন্যাসে ঘটে। আমি এখনও কোনও আপেক্ষিক বিন্যাস অন্তর্ভুক্ত করার চেষ্টা করি নি, তবে তারা আমাকে বাদাম চালায় তাই আমার বিচক্ষণতা ফিরে না আসা পর্যন্ত আমি অপেক্ষা করব।


দয়া করে দয়া করে ফর্ম্যাটিংটি ঠিক করতে পারেন। আপনার প্রথম লাইনটি কোড বিভাগ থেকে মিস করা হয়েছে এবং এটি সম্পাদন করা খুব তুচ্ছ বলে সাইটটি আমাকে এটি ঠিক করতে দেয় না।
কলটার

1

আপনাকে নিম্নলিখিত বৈশিষ্ট্যটি ব্যবহার করতে হবে এবং লিনিয়ার বিন্যাসের মধ্যে এটি আবদ্ধ করতে হবে

<LinearLayout ...>
<scrollView ...> 

</scrollView>
</LinearLayout>

0

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

নিশ্চিত করুন যে লিনিয়ারলেউটের কোনও ভাইবোন নেই কারণ স্ক্রোলভিউয়ের একাধিক সন্তান থাকতে পারে না।


0
 <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <---------Content Here --------------->
            </LinearLayout>
       </ScrollView>
    </LinearLayout>

-27

আপনি রৈখিক লেআউটে একটি অ্যাট্রিবিউট যুক্ত করতে পারেন: android:scrollbars="vertical"


4
এটি কেবল স্ক্রোলবারগুলির দৃশ্যমানতা নিয়ন্ত্রণ করে। তবে এটি আপনার জন্য কোনও স্ক্রোলভিউ তৈরি করে না।
বোটন্ড কোপাকজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.