На Xyboard не работает исчезающая кромка (Xoom 2) - PullRequest
0 голосов
/ 26 марта 2012

Я пытаюсь заставить эффект "fadingEdge" работать со списком на Xyboard 10.1 (Xoom 2) с Honeycomb 3.2.2.В качестве способа демонстрации проблемы я использую базовое руководство по просмотру списка Android, описанное здесь:

http://developer.android.com/resources/tutorials/views/hello-listview.html

Модифицированный код выглядит так:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  String[] countries = getResources().getStringArray(R.array.countries_array);
  setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));

  ListView lv = getListView();
  lv.setTextFilterEnabled(true);
  lv.setVerticalFadingEdgeEnabled( true );
  lv.setHorizontalFadingEdgeEnabled( true );
  lv.setFadingEdgeLength( 30 );

  lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
      // When clicked, show a toast with the TextView text
      Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
          Toast.LENGTH_SHORT).show();
    }
  });
}

В частности, я добавил три линии в середине, которые позволяют замирания в обоих направлениях, и установил произвольную длину замирания.Я также проверил, что действительные и ожидаемые значения возвращаются из геттеров get-fade -rength, поэтому дело не в том, что геттеры возвращают ноль.

Обратите внимание, что в нашем реальном приложении мы должны включитьэта функция программно, поэтому я не настроил это поведение в XML.

Помимо Xyboard, я убедился, что этот тестовый класс и эффект затухания успешно работают на всех других устройствах, которые я пробовал, включая:

  • Galaxy Tab 8.9 (Honeycomb 3.1)
  • Galaxy Nexus (ICS 4.0)
  • эмулятор (Honeycomb 3.2)

1 Ответ

4 голосов
/ 29 июня 2012

Не уверен, что вы уже решили эту проблему, но я столкнулся с подобной проблемой и просто решил погрузиться в класс View.java.

Прежде чем использовать следующие параметры для включения затухания:

android:fadingEdge="vertical"

Теперь вы используете:

android:requiresFadingEdge="vertical"
...