Я пытаюсь заставить эффект "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)