আমি কীভাবে পর্দার নীচে দৃশ্যগুলি সারিবদ্ধ করব?


634

আমার লেআউট কোডটি এখানে;

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

    <TextView android:text="@string/welcome"
        android:id="@+id/TextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    </TextView>

    <LinearLayout android:id="@+id/LinearLayout"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="bottom">

            <EditText android:id="@+id/EditText"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">
            </EditText>

            <Button android:text="@string/label_submit_button"
                android:id="@+id/Button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
            </Button>

    </LinearLayout>

</LinearLayout>

এটি দেখতে যা দেখতে বাম দিকে রয়েছে এবং আমি এটির মতো দেখতে কী চাই ডান দিকে।

অ্যান্ড্রয়েড লেআউট - আসল (বাম) এবং পছন্দসই (ডান)

সুস্পষ্ট উত্তরটি হ'ল টেক্সটভিউটি পূরণ করতে হবে_পরে বাপনে উচ্চতায়, তবে এটি বোতাম বা প্রবেশের ক্ষেত্রের জন্য কোনও স্থান রেখে যায় না।

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

লিনিয়ার লেআউটে প্রথম আইটেমটি ফিলিংপেন্ট-প্যারেন্টকে বলা হয় তবে এটি ঠিক তাই করে, অন্য আইটেমের জন্য কোনও জায়গা নেই। লেআউটের বাকী আইটেমগুলির প্রয়োজনীয় নূন্যতম ব্যতীত সমস্ত স্থান পূরণ করার জন্য লিনিয়ার বিন্যাসে প্রথম স্থান পাওয়া আইটেমটি কীভাবে পাব?


আপেক্ষিক লেআউটগুলি আসলে উত্তর ছিল:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:text="@string/welcome"
        android:id="@+id/TextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">
    </TextView>

    <RelativeLayout
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <Button
            android:text="@string/label_submit_button"
            android:id="@+id/Button"
            android:layout_alignParentRight="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </Button>

        <EditText
            android:id="@+id/EditText"
            android:layout_width="fill_parent"
            android:layout_toLeftOf="@id/Button"
            android:layout_height="wrap_content">
        </EditText>

    </RelativeLayout>

</RelativeLayout>

7
@ একসাই পেইন্ট;) আমি এমুলেটরটিতে ত্বক ব্যবহার করছি যদিও চা ভুই হুয়াং চাভুইহুয়াং.com
gav

14
এটি সমাধান করা লেআউট XML পোস্ট করার জন্য +1। আমার কী ভুল ছিল তা নির্ধারণে আমাকে সহায়তা করেছিল।
হাওলার

উত্তর:


526

এটি করার আধুনিক উপায় হ'ল কনস্ট্রেন্টলয়েট থাকে এবং দৃশ্যের নীচে কনস্ট্রেন্টলআউটয়ের নীচে সীমাবদ্ধ করে দেওয়া হয়app:layout_constraintBottom_toBottomOf="parent"

নীচের উদাহরণটি একটি ফ্লোটিংএ্যাকশনবটন তৈরি করে যা স্ক্রিনের শেষ এবং নীচে একত্রিত হবে।

<android.support.constraint.ConstraintLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_height="match_parent"
   android:layout_width="match_parent">

<android.support.design.widget.FloatingActionButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"

    app:layout_constraintBottom_toBottomOf="parent"

    app:layout_constraintEnd_toEndOf="parent" />

</android.support.constraint.ConstraintLayout>

রেফারেন্সের জন্য, আমি আমার পুরানো উত্তর রাখব।

কনস্ট্রেন্টলয়েট প্রবর্তনের আগে উত্তরটি ছিল একটি আপেক্ষিক বিন্যাস


যদি আপনার কোনও আপেক্ষিক বিন্যাস থাকে যা পুরো স্ক্রিনটি পূরণ করে android:layout_alignParentBottomতবে আপনার বোতামটি স্ক্রিনের নীচে সরাতে সক্ষম হওয়া উচিত ।

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


5
এফওয়াইআই: এটি কোনও স্ক্রোলভিউয়ের মধ্যে কাজ করবে না। আমি এখন এই সমস্যার মুখোমুখি হই। দেখুন stackoverflow.com/questions/3126347/...
IgorGanapolsky

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

ঠিক আছে .. উত্তরের দ্বিতীয় অনুচ্ছেদের বিন্দুটি এখানে কী? "আপনার প্রথমে স্ক্রিনের নীচে coversাকা এমন একটি বিন্যাস পাওয়া উচিত" তাহলে আমাদের কি লেআউটটির ভিতরে লেআউট_লাইনপ্যান্টব্যাটম ব্যবহার করা উচিত? আমাদের কী দরকার android:layout_above?
ইউজিন

আপনি নীচের অংশে বারের মতো কিছু করতে চান এবং তারপরে স্ক্রিনের শীর্ষ থেকে বার পর্যন্ত প্রসারিত এই বারের উপরে লিনিয়ারলআউট চাইলে আপনার উপরেরটি প্রয়োজন।
জানুস

1
আমি "অ্যান্ড্রয়েড উইকলি" এর একটিতে পড়েছি that RelativeLayoutস্মৃতিশক্তি গ্রহণ এবং এটি যখনই সম্ভব সম্ভব এড়ানো উচিত।
টমাসজ মুলারসিজিক

153

একটি ScrollViewহিসাবে এই না কাজ করে, RelativeLayoutwould তারপর ওভারল্যাপ যাই হোক না কেন হয়ScrollView পৃষ্ঠার নীচের অংশে অবস্থিত।

আমি গতিশীলভাবে প্রসারিত ব্যবহার করে এটি ঠিক করেছি FrameLayout:

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent" 
    android:layout_width="match_parent"
    android:fillViewport="true">
    <LinearLayout 
        android:id="@+id/LinearLayout01"
        android:layout_width="match_parent" 
        android:layout_height="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical">

                <!-- content goes here -->

                <!-- stretching frame layout, using layout_weight -->
        <FrameLayout
            android:layout_width="match_parent" 
            android:layout_height="0dp"
            android:layout_weight="1">
        </FrameLayout>

                <!-- content fixated to the bottom of the screen -->
        <LinearLayout 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:orientation="horizontal">
                                   <!-- your bottom content -->
        </LinearLayout>
    </LinearLayout>
</ScrollView>

1
এটি দুর্দান্ত - এছাড়াও, এটি "ন্যূনতম আক্রমণাত্মক", এবং সম্পর্কিত সম্পর্কিত লেআউট পদ্ধতির চেয়ে আরও স্বজ্ঞাত। আমি পারলে একাধিক উঁচুতে দিতাম!
মানমাল

4
আমি আমার অ্যাপ্লিকেশনটিতে আপনার সমাধানটি ব্যবহার করি, তবে আমার ক্ষেত্রে আমি চাই যে কীবোর্ড প্রদর্শিত হবে, তখন বোতামগুলি স্ক্রিনের নীচে থাকবে (কীবোর্ডের পিছনে) এর জন্য কি কোনও চাপ আছে? Thaks।
ইয়োন

1
@ ডাবলইও: ম্যানিফেস্টে অ্যান্ড্রয়েডে: উইন্ডোসফট ইনপুটমোড = "অ্যাডজাস্টপ্যান"
কোপফজেল্ডজাইগার

2
যদি আপনি নীচের অংশটি স্থায়ীভাবে স্থির করতে চান তবে এটি কার্যকর হয় না এমন সমস্ত সময় দেখায়। অন্যথায় এটি কাজ করে।
কার্ল মরিসন

72

রৈখিক বিন্যাসের মধ্যে আপেক্ষিক বিন্যাসটিকে নীড়ের দ্বারা আপনার প্রাথমিক রৈখিক বিন্যাসটি রাখতে পারেন:

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

    <TextView android:text="welcome" 
        android:id="@+id/TextView" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">
    </TextView>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <Button android:text="submit" 
            android:id="@+id/Button" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true">
        </Button>
        <EditText android:id="@+id/EditText" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@id/Button"
            android:layout_alignParentBottom="true">
        </EditText>
    </RelativeLayout>
</LinearLayout>

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

42

উপরের উত্তরটি (জানুস দ্বারা) বেশ সঠিক, তবে আমি ব্যক্তিগতভাবে আপেক্ষিক লেআউটগুলির সাথে 100% বিস্মৃত বোধ করি না, তাই আমি এই জাতীয় একটি 'ফিলার', খালি পাঠ্য ভিউয়ের সাথে পরিচয় করিয়ে দিতে পছন্দ করি:

<!-- filler -->
<TextView android:layout_height="0dip" 
          android:layout_width="fill_parent"
          android:layout_weight="1" />

স্ক্রিনের নীচে থাকা উপাদানটির আগে।


এটি কি এক্স বা y অক্ষে প্রসারিত হবে? উচ্চতার জন্য 0 ডিপ দেওয়া কোনও উচ্চতা ছাড়াই পাঠ্যদর্শনটি তৈরি করবে? বা এটি এক্স অক্ষ হিসাবে পছন্দ করতে পারে যতটা প্রসারিত হবে?
লুকাপ

এটি উল্লম্বভাবে প্রসারিত হয় কারণ উচ্চতা (উল্লম্ব অক্ষ) 0 এবং ওজন 1 তে নির্ধারিত হয় (ধরে নেওয়া হয় যে অন্যান্য উপাদানগুলির শূন্য ওজন রয়েছে)।
টিমোরস

এক্স অক্ষে, এটি তার পিতামাতার হিসাবে থাকবে (পূর্ণ_পিতা)
টিমোরস

পাঠ্যদর্শনের পরিবর্তে আমি অন্য রৈখিক বিন্যাসটি ব্যবহার করব। লেআউট ভিউতে বোঝা যাচ্ছে যে এটি স্থান পূরণ করতে ব্যবহৃত হতে পারে?
আসুন

33

আপনি লিনিয়ারআলআউট বা একটি স্ক্রোলভিউ দিয়ে এটিও করতে পারেন। কখনও কখনও রিলেটিভলআউট এর চেয়ে প্রয়োগ করা আরও সহজ। আপনাকে কেবলমাত্র যা করতে হবে তা হ'ল পর্দার নীচে সারিবদ্ধ করতে চান এমন ভিউগুলির আগে নিম্নলিখিত ভিউটি যুক্ত করা :

<View
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1" />

এটি খালি জায়গা তৈরি করে, খালি স্থানটি পূরণ করে এবং পরবর্তী দৃশ্যগুলি পর্দার নীচে রেখে দেয়।


27

এটিও কাজ করে।

<LinearLayout 
    android:id="@+id/linearLayout4"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_below="@+id/linearLayout3"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal" 
    android:gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="20dp"
>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 

    />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 


    />

</LinearLayout>

মাধ্যাকর্ষণ = "নীচে" লিনিয়ারালআউট উপাদানগুলি নীচে ভাসা করতে


12
অ্যান্ড্রয়েড: লেআনলয়আউট যদি কোনও রিলেটিভলয়েটের অভ্যন্তরে না থাকে তবে "লেআউট_লাইনপ্যারেন্টবটম =" সত্য "এর কোনও প্রভাব নেই।
থমাস ডিগানান

একটি ব্যাখ্যা ক্রমযুক্ত হবে (যেমন প্রয়োজনীয় পরিবর্তন, এটি কীভাবে কাজ করে, কেন এটি কাজ করে ইত্যাদি)।
পিটার মর্টেনসেন

26

1. ব্যবহার করুন ConstraintLayout আপনার মূল লেআউট

এবং app:layout_constraintBottom_toBottomOf="parent"স্ক্রিনের নীচে লেআউটটি দিতে দেয়:

<LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintBottom_toBottomOf="parent">
</LinearLayout>

2. ব্যবহার করুন FrameLayoutআপনার রুট বিন্যাসে

স্রেফ android:layout_gravity="bottom"আপনার বিন্যাসে সেট করুন

<LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:orientation="horizontal">
</LinearLayout>

৩. LinearLayoutআপনার মূল বিন্যাসে ব্যবহার করুন (android:orientation="vertical" )

(1) আপনার বিন্যাসের android:layout_weight="1"শীর্ষে একটি বিন্যাস সেট করুন

<TextView
    android:id="@+id/TextView"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="welcome" />

(2) শিশু সেট LinearLayoutজন্যandroid:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom"

মূল বৈশিষ্ট্যটি হ'ল ndroid:gravity="bottom", শিশুটিকে লেআউটের নীচে দেখতে দিন।

<LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="bottom"
    android:orientation="horizontal">
</LinearLayout>

৪. RelativeLayoutমূল লেআউটে ব্যবহার করুন

এবং android:layout_alignParentBottom="true"স্ক্রিনের নীচে লেআউটটি যেতে দেয়

<LinearLayout
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal">
</LinearLayout>

আউটপুট

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


20

টিমোরসের মার্জিত সমাধানটি অনুসরণ করে আমি জানতে পেরেছি যে নিম্নলিখিতটি একটি উল্লম্ব লিনিয়ারলআউট এবং একটি অনুভূমিক লিনিয়ারালাউট একটি অনুভূমিক ফিল পূরণ করে:

<Space
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1" />

@ সেফহর যেখানে আমার সলিউশন কাজ করে না এমন ক্ষেত্রে আপনি খুঁজে পেতে পারেন সেখানে আরও একটি কারণ থাকতে হবে। আমি কেবলমাত্র আমার সমাধানটি একটি খণ্ড লেআউটে চেষ্টা করেছি এবং এটি সেখানে কাজ করে।
স্টিভেহস 17

ভারসাম্য রৈখিক বিন্যাসে সমর্থিত এবং @ সেফহর তারা খণ্ড, ক্রিয়াকলাপ, বিজ্ঞপ্তিগুলি, কথোপকথনগুলিতেও কাজ করবে;)
জান রাবে

16

এমনকি relativeপ্রথম স্তরের ভিতরে আপনাকে দ্বিতীয় লেআউট বাসাতে হবে না । কেবলমাত্র ব্যবহার android:layout_alignParentBottom="true"মধ্যে বাটন এবং editText


কেবল একটি নোট যে এটি বোতাম এবং সম্পাদনা পাঠের সাথে কাজ করে, আপনি যদি এইভাবে কোনও টেবিল লেআউটটি সারিবদ্ধ করার চেষ্টা করেন তবে এটি কাজ করবে না। আপনাকে এটি অন্য কোনও রিলেটিভলআউট এর ভিতরে বাসা বাঁধতে হবে।

11

আপনি যদি অনেক পরিবর্তন করতে চান না, তবে আপনি কেবল এইটি লিখতে পারেন:

android:layout_weight="1"

TextView যেমন আইডি থাকার জন্য @+id/TextViewঅর্থাত

<TextView android:text="@string/welcome" 
    android:id="@+id/TextView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:layout_weight="1">
</TextView>

অথবা অ্যান্ড্রয়েডের সাথে একটি আশেপাশের লিনিয়ারলআউট যুক্ত করুন: লেআউট_ ওয়েট = "1" - এটি স্ক্রোলভিউয়ের মধ্যেও ভাল কাজ করে!
বিকে 138

7

শিরোনাম এবং পাদচরণ উভয়ই তৈরি করা , এখানে একটি উদাহরণ রয়েছে:

লেআউট এক্সএমএল

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/backgroundcolor"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:background="#FF0000">
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_alignParentBottom="true"
        android:background="#FFFF00">
    </RelativeLayout>

</RelativeLayout>

স্ক্রিনশট

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


4

নীচের কোডটি ব্যবহার করুন। বোতামে বোতামটি সারিবদ্ধ করুন। ইহা কাজ করছে.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btn_back"
        android:layout_width="100dp"
        android:layout_height="80dp"
        android:text="Back" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.97"
        android:gravity="center"
        android:text="Payment Page" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Submit"/>
    </LinearLayout>

</LinearLayout>

3

এর মতো কেসের জন্য সর্বদা রিলেটিভলআউটগুলি ব্যবহার করুন। লিনিয়ারলআউট এমন ব্যবহারের জন্য নয়।

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/db1_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

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

        <!-- Place your layout here -->

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp" >

        <Button
            android:id="@+id/setup_macroSavebtn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Save" />

        <Button
            android:id="@+id/setup_macroCancelbtn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel" />

        </LinearLayout>

</RelativeLayout>

2

আপনার ব্যবহার android:layout_alignParentBottom="true" করুন <RelativeLayout>

এটি অবশ্যই সাহায্য করবে।


1
এটি অনুমান করে যে ব্যবহারকারী একটি রিলেটিভলআউট ব্যবহার করতে চায়।
ইগোরগানাপলস্কি

2

আপনার যদি এরকম একটি শ্রেণিবিন্যাস থাকে তবে:

<ScrollView> 
  |-- <RelativeLayout> 
    |-- <LinearLayout>

প্রথমে প্রয়োগ android:fillViewport="true"করুন ScrollViewএবং তারপরে প্রয়োগ android:layout_alignParentBottom="true"করুন LinearLayout

এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে।

<ScrollView
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:scrollbars="none"
    android:fillViewport="true">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:id="@+id/linearLayoutHorizontal"
            android:layout_alignParentBottom="true">
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

2

আপনি শুধু (TextView দিতে পারেন আপনার উপরের শিশু দৃশ্য ID / TextView @ + + ) একটি বৈশিষ্ট্য: android:layout_weight="1"

এটি এর নীচে অন্য সমস্ত উপাদানকে নীচে চাপিয়ে দেবে।


2

এটি লিনিয়ার বিন্যাসের সাহায্যেও করা যেতে পারে।

উপরের লেআউটে এবং নীচে যেটি চান তার জন্য কেবল উচ্চতা = 0 ডিপি এবং ওজন = 1 সরবরাহ করুন। কেবল উচ্চতা লিখুন = সামগ্রী মোড়ানো এবং ওজন নেই।

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

আমি দুর্ঘটনাক্রমে এটি আবিষ্কার করেছি।


0

আমি জানুশ পোস্ট করা সমাধানটি ব্যবহার করেছি, তবে আমি আমার লেআউটের উপরের অংশটি একটি স্ক্রোলভিউ হওয়ায় সর্বশেষ ভিউতে প্যাডিং যুক্ত করেছি।

স্ক্রোলভিউ কন্টেন্টের সাথে বাড়ার সাথে সাথে এটি আংশিকভাবে লুকানো থাকবে। android:paddingBottomশেষ ভিউতে ব্যবহার করা স্ক্রোলভিউতে সমস্ত সামগ্রী প্রদর্শন করতে সহায়তা করে।

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