কীভাবে অ্যান্ড্রয়েড লিস্টভিউ বিভাজক রেখার রঙ পরিবর্তন করবেন?


400

আমি ListViewবিভাজক রেখার রঙ পরিবর্তন করতে চাই । কোন সাহায্য প্রশংসা করা হবে।

উত্তর:


765

আপনি এই মানটি একটি লেআউট এক্সএমএল ফাইল ব্যবহার করে সেট করতে পারেন android:divider="#FF0000"। আপনি যদি রঙ / অঙ্কনযোগ্য পরিবর্তন করে থাকেন তবে আপনাকে ডিভাইডারের উচ্চতাও সেট / সেট করতে হবে।

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

  <ListView 
    android:id="@+id/android:list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:divider="#FFCC00"
    android:dividerHeight="4px"/>

</LinearLayout>

11
আপনার পাশাপাশি একটি Drawableসংস্থান নির্দিষ্ট করতে সক্ষম হওয়া উচিত android:divider। বিদ্যমান ডিভাইডারটি গ্রেডিয়েন্ট।
কমন্সওয়্যার

62
আপনি যদি এক্সএমএলে এটি করেন তবে অ্যান্ড্রয়েড ব্যবহারের পাশাপাশি উচ্চতাটিও দেখতে ভুলবেন না: ডিভাইডারহাইট অন্যথায় আপনি কোনও লাইন পাবেন না
এরিক নোভিনস

8
আমার অভিজ্ঞতা থেকে, "ডিভাইডারের উচ্চতাটি পুনরায় সেট করা উচিত" পড়ুন "ডিভাইডারের উচ্চতা নির্ধারণ করতে হবে"
ডিপিজানস

44
আমি pxঅ্যান্ড্রয়েডের আকারগুলি সংজ্ঞায়িত করতে ইউনিট ব্যবহার করার পরামর্শ দেব না , তার dpপরিবর্তে ব্যবহার করুন
মারেক সেবেরা

12
দেখে মনে হচ্ছে এই নির্দিষ্ট ক্ষেত্রে px ব্যবহার করার কোনও ভাল কারণ থাকতে পারে। দেখুন: stackoverflow.com/a/12061612/10505
greg7gkb

163

অথবা আপনি এটি কোড করতে পারেন:

int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);

আশা করি এটা সাহায্য করবে


নিখুঁত, আমার আইটেমগুলি একটি লালচে গ্রেডিয়েন্ট ব্যাকগ্রাউন্ডে ছিল এবং আপনার প্রভাব তাদের দুর্দান্ত করে তুলেছে !!
ডারেকেন্ডারফ

1
যদি আপনি তালিকার ক্রম প্রসারিত করেন তবে মাইলিস্টটি getListView ()
আজিজ

87

একক রঙের লাইন ব্যবহারের জন্য:

list.setDivider(new ColorDrawable(0x99F10529));   //0xAARRGGBB
list.setDividerHeight(1);

ডিভাইডার হাইট ডিভাইডারের পরে সেট করা গুরুত্বপূর্ণ , অন্যথায় আপনি কিছুই পাবেন না।


1
আপনাকে ধন্যবাদ, আমি setDividerHeight () কে setDivider () এর আগে ডেকেছিলাম এবং কোনও বিভাজক দেখানো হয়নি।
Andreas Kl Kber

3
অপারেশন ক্রম সম্পর্কে খুব সহায়ক মন্তব্য। আমি এটি কার্যকর করার চেষ্টা করে 2 ঘন্টা ব্যয় করেছি। চমৎকার নকশা, অ্যান্ড্রয়েড।
নিক ফ্রোলভ

12

আপনি ব্যবহার করে আপনার সংস্থানগুলি থেকে রঙগুলি পেতে পারেন:

dateView.setDivider(new ColorDrawable(_context.getResources().getColor(R.color.textlight)));
dateView.setDividerHeight(1);

10

@ আশার আসলান শীতল প্রভাবের জন্য এক্সএমএল সংস্করণ।

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

    <gradient
        android:angle="180"
        android:startColor="#00000000"
        android:centerColor="#FFFF0000"
        android:endColor="#00000000"/>

</shape>

এই আকারটির নাম হিসাবে: ড্রটযোগ্য ফোল্ডারের অধীনে list_driver.xML

<ListView
        android:id="@+id/category_list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:divider="@drawable/list_driver"
        android:dividerHeight="5sp" />

6

এটি করার দুটি উপায় রয়েছে:

  1. আপনি অ্যান্ড্রয়েডের মান সেট করতে পারেন : লেআউট এক্সএমএল ফাইলে ডিভাইডার = "# এফএফসিসিএফএফ"এটির সাথে আপনাকে এই অ্যান্ড্রয়েডের মতো বিভাজনের উচ্চতাও নির্দিষ্ট করতে হবে : DividerHeight = "5px "।

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
      <ListView 
      android:id="@+id/lvMyList"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:divider="#FFCCFF"
      android:dividerHeight="5px"/>
    
    </LinearLayout>
  2. আপনি প্রোগ্রামগতভাবে এটিও করতে পারেন ...

    ListView listView = getListView();
    ColorDrawable myColor = new ColorDrawable(
        this.getResources().getColor(R.color.myColor)
    );
    listView.setDivider(myColor);
    listView.setDividerHeight();

2

আপনার এক্সএমএল ফাইলে কোডের নীচে ব্যবহার করুন

<ListView 
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="#000000" 
    android:dividerHeight="1dp">
</ListView> 

2
আপনার সমাধান কেন কাজ করে সে সম্পর্কে কিছুটা ব্যাখ্যা করা ভাল। কোড শুধুমাত্র উত্তরগুলি সমস্যার সমাধান করতে পারে তবে এটি অগত্যা প্রশ্নকারীর প্রশ্নের উত্তর দেয় না।
সুপারবিসাইডম্যান

1

প্রোগ্রামক্রমেটিক্যালি ব্যবহার করা

           // Set ListView divider color
            lv.setDivider(new ColorDrawable(Color.parseColor("#FF4A4D93")));

            // set ListView divider height
            lv.setDividerHeight(2);

এক্সএমএল ব্যবহার করে

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

  <ListView 
    android:id="@+id/android:list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:divider="#44CC00"
    android:dividerHeight="4px"/>

</LinearLayout>

0

লিস্টভিউয়ের জন্য android:divider="#FF0000"এবং android:dividerHeight="2px"ব্যবহার করুন ।

<ListView 
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#0099FF"
android:dividerHeight="2px"/>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.