একটি অ্যান্ড্রয়েড তালিকাভিউয়ের নীচের অংশটি সরান


95

আমার একটা নির্দিষ্ট উচ্চতা আছে ListView। এটি তালিকার আইটেমগুলির মধ্যে বিভাজক রয়েছে তবে এটি সর্বশেষ তালিকা আইটেমের পরে বিভাজক প্রদর্শন করে।

শেষ আইটেমটি পরে কোনও বিভাজক প্রদর্শন না করার উপায় আছে ListView?

উত্তর:


183

কেবলমাত্র android:footerDividersEnabled="false" আপনার তালিকাভিউ বর্ণনায় যুক্ত করুন


29
এটি এখন আর 4.4.2 দিয়ে শুরু করে কাজ করবে বলে মনে হচ্ছে না। আমি আমার অনেক পরীক্ষার ডিভাইসগুলিতে আক্ষরিকভাবে একই অ্যাপটি চালাতে পারি (২.৩..7 থেকে শুরু করে ৪.৪.২ অবধি) এবং কিটকাট একমাত্র এটির কোনও প্রভাব নেই বলে মনে হচ্ছে ... কোনও ধারণা? আমি আমার লিস্টভিউতে ফুটার বা শিরোলেখ যোগ করছি না এবং আমি এটি দুটি ডিভাইসে (নেক্সাস 5 এবং এইচটিসি ওয়ান এম 8) পুনরুত্পাদন করেছি।
চার্লস মাদেরে

11
@ স্কুটারনোভা আমি ৪.৪.৪ ব্যবহার করছি এবং আমি যখন তালিকার দৃশ্যের সেট করব layoutHeight="wrap_content"তখন নীচের অংশটি বিভক্ত হয়ে যাবে।
এরহানিস

4
ব্যাকগ্রাউন্ড ব্যবহার করুন = @ অ্যান্ড্রয়েড: রঙ / স্বচ্ছ, এটি আমার জন্য সমাধান করুন
স্টিফ

অ্যান্ড্রয়েড 5.1 এবং 7.0 এ এই সমাধানটি ব্যবহার করে দেখেছেন এবং এটি পুরোপুরি কার্যকর! ধন্যবাদ মানুষ.
tomalf2

84

@ স্কুটারনোভা যেমন বলেছিল, অ্যান্ড্রয়েড ৪.৪.x এ এটি অন্যরকমভাবে (ওরফে বগি) আচরণ করছে বলে মনে হচ্ছে (সমস্যাটি কখন প্রকাশিত হবে ঠিক আমি জানি না)

এটি + এর ব্যবহারের নির্দিষ্ট ক্ষেত্রে সম্পর্কিত - 4.4.x এ ফুটারটি ভিউটির বাইরে টানা হয় তবে প্যাডিংয়ের ক্লিপগুলি এটি প্রকাশ করে।paddingclipToPadding="false"

আমি যে সমাধানটি ব্যবহার করেছি তা হ'ল ফুটারকে ওভার-স্ক্রোল ( android:overScrollFooter) স্বচ্ছ করতে সেট করুন যা কোনওভাবে কাজ করে ...

আমার চূড়ান্ত সমাধান (নোট যা android:footerDividersEnabledব্যাক-সামঞ্জস্যের জন্য রাখা হয়েছে):

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/activity_horizontal_margin"
    android:divider="@color/divider"
    android:dividerHeight="1px"
    android:clipToPadding="false"
    android:scrollbarStyle="outsideInset"
    android:overScrollFooter="@android:color/transparent"
    android:footerDividersEnabled="false"
    />

এইচটিসি ওয়ান এক্স চলমান ৪.১.১, একটি নেক্সাস ৫ চলমান ৪.৪.৪ এবং একটি স্যামসং গ্যালাক্সি এস 4..৪.৪.২ চালিয়েছে (@ ডালাস 187 এর জন্য ধন্যবাদ)। ললিপপও কাজ করছে বলে মনে হচ্ছে। (মন্তব্যকারীদের ধন্যবাদ!)


4
শুধু 4.4.2 চলমান একটি স্যামসাং আকাশগঙ্গা S5 উপর এই সমাধান কাজ নিশ্চিত
Dallas187

4
যুক্ত করা android:overScrollFooterআমার জন্য কৌশলটি করেছে। 5.0.2 এবং 5.1 এ কাজ করছে।
এডিসন স্পেন্সার

প্রকৃতপক্ষে, এবং আমি বিশ্বাস করি আপনার android:footerDividersEnabled="false"পিছনে কম্প্যাট দরকার হবে
স্যাম

18

আপনি কোড দ্বারা এটি করতে চাইলে এটি:

listView.setFooterDividersEnabled(false);

এবং আপনি যদি কোনও লিস্টফ্রেগমেন্ট ব্যবহার করেন তবে আপনি তালিকাটি ভিউ দ্বারা পেতে পারেন:

listFragment.getListView().setFooterDividersEnabled(false);

শুধুমাত্র মন্তব্য করেছে কারণ এটি গুগলে # 1 হিসাবে আসে


4
কোডটির জন্য আপনাকে ধন্যবাদ - যখন কেবলমাত্র এক্সএমএল ভিত্তিক সমাধান থাকে তখন আমি দু: খিত হই! আমি আইওএস থেকে অ্যান্ড্রয়েডে একটি অ্যাপ্লিকেশন পোর্ট করছি এবং এখন পর্যন্ত আমি মনে করি কোডগুলিতে এই সমস্ত করা XML ভিত্তিক লেআউটে রূপান্তরিত করার চেষ্টা করার চেয়ে অনেক দ্রুত ছিল (যেমন আমি সমস্ত আইওএস ইউআইকে কোডে প্রথম স্থানে সংজ্ঞায়িত করেছি) )। আমি মনে করি একদিন এই সমস্ত এক্সএমএল স্টাফকে ঘিরে আমার মাথা পেতে হবে, তবে আজ নয় :)
হের গ্রাম্পস

পিক্সেল এপিআই 25 এ আমার জন্য কাজ করছে না, কেবল অন্নদার পরামর্শই তা করেছে।
টিবাদামস

13

লাইনের নীচে মনে হচ্ছে ললিপপ ডিভাইসে কাজ করে না।

listView.setFooterDividersEnabled(false);

সুতরাং তালিকার শেষ আইটেমের পরে বিভাজক অপসারণ করতে নীচের কোডটি ব্যবহার করা দরকার।

listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। সহজ সমাধান, আমার জন্য প্রথম শট কাজ।
সামাহ

বিঙ্গো ভাল জিনিস. ভাগ করে নেওয়ার জন্য ধন্যবাদ!
ফরেস্ট

0

ব্যাকগ্রাউন্ড = @ অ্যান্ড্রয়েড: রঙ / স্বচ্ছ ব্যবহার করুন। পুরোপুরি কাজ করে। আপনি এখনও আপনার সারি বিন্যাসের পটভূমি ব্যবহার করতে পারেন

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