состояние списка не определено - PullRequest
0 голосов
/ 10 декабря 2011
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/settings_unpressed" android:state_focused="false" android:state_pressed="false" android:state_selected="false"/>
    <item android:drawable="@drawable/settings_unpressed" android:state_focused="false" android:state_pressed="false" android:state_selected="true"/>
    <!-- Focused states -->
    <item android:drawable="@drawable/settings_unpressed" android:state_focused="true" android:state_pressed="false" android:state_selected="false"/>
    <item android:drawable="@drawable/settings_unpressed" android:state_pressed="false" android:state_selected="true"/>

    <item android:drawable="@drawable/list_selector_pressed" android:state_pressed="true"/>
        <item android:drawable="@android:color/transparent"/>

</selector>

У меня есть listView, который имеет закругленный угол, когда я пытаюсь прокрутить свой listView, границы становятся резкими (как прямоугольник). Может ли кто-нибудь сказать мне, как называется состояние, когда мы прокручиваем listView. Я использую код выше, но без результата, может быть, у меня должно быть другое состояние?

Ответы [ 3 ]

1 голос
/ 12 декабря 2011

Я нашел решение. установите android:cacheColorHint="#00000000" и android:scrollingCache="false" это не так.

0 голосов
/ 10 декабря 2011

Вы можете установить фон списка как рисованный объект с закругленными углами, а затем для каждого элемента строки оставить некоторое поле.Все это содержимое списка представлено в закругленном угле

0 голосов
/ 10 декабря 2011

Это невозможно.Вы должны иметь различные ресурсы для рисования для верхнего элемента, среднего элемента, нижнего элемента и в случае, если в списке есть только 1 элемент.Затем в пользовательском адаптере вам нужно изменить свой getView примерно так:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    //...

   if (position == 0 && entry_list.size() == 1) {
            view.setBackgroundResource(R.drawable.selector_rounded_corner);
        } else if (position == 0) {
            view.setBackgroundResource(R.drawable.selector_rounded_corner_top);
        } else if (position == entry_list.size() - 1) {
            view.setBackgroundResource(R.drawable.selector_rounded_corner_bottom);
        } else {
            view.setBackgroundResource(R.drawable.selector_middle);
        }

       //...
   }

Проверьте это учебное пособие , это легко и очень хорошо сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...