Changing a divider with setDivider in a ListActivity without a custom ListView?

前端 未结 3 1594
无人共我
无人共我 2021-02-01 07:53

I can\'t seem to get a customized divider, using a Drawable I\'ve defined, to work when using a ListActivity and not creating a custom ListView. It al

相关标签:
3条回答
  • 2021-02-01 08:40

    I figured it out. The issue had nothing to do with the ListActivity generating a ListView for me. It was in how I was defining the divider in Java code.

    There are two ways that I see to define the divider (border between ListView rows) on a ListView that is automatically inflated from a ListActivity, if you want to define the color in XML:

    Method 1:

    In res/values/colors.xml, put the following:

    <resources>
     <color name="sage">#cceebb</color>
    </resources>
    

    In your ListActivity-extending class, do this:

    ListView lv = getListView();
    ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.color.sage));
    lv.setDivider(sage);
    lv.setDividerHeight(1);
    

    Method 2:

    In res/values/colors.xml:

    <resources>
     <drawable name="sage">#cceebb</drawable>
    </resources>
    

    And in your class that extends ListActivity:

    ListView lv = getListView();
    ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.drawable.sage));
    lv.setDivider(sage);
    lv.setDividerHeight(1);
    
    0 讨论(0)
  • 2021-02-01 08:47

    To set divider in listview programatically:

    These code put inside in your .java Class

       ListView lv = (ListView) findViewById(R.id.lv);
       lv.setDivider(getResources().getDrawable(R.drawable.drawable_divider));
       lv.setDividerHeight(1);
    

    Creating Drawable: {res > drawable > drawable_divider.xml}

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    
        android:shape="rectangle">
    
        <solid android:color="#ececec"></solid>
    
    </shape>
    
    0 讨论(0)
  • 2021-02-01 08:53

    Try this code:

    searchText.setBackgroundColor(getResources().getColor(R.color.wordColorBlack));
    ListView lv = getListView();
    lv.setDivider(getResources().getDrawable(R.drawable.divider2));
    lv.setDividerHeight(2);
    
    0 讨论(0)
提交回复
热议问题