среда, 9 ноября 2011 г.

Ошибки в Android SDK

Android в рамках стандартного SDK стабильная операционная система, но ошибки временами встречаются и в нем. Чаще всего это выглядит как то, что выставляемое свойство работает совсем не так как описано в документации. Об ошибке обработки HTML я уже писал раньше, а сейчас я опишу еще пару ошибок.
1. К примеру создаете вы какой-то особо оригинальный ListView и выставляете высоту разделителя между его элементами равную 0.
<ListView
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/list_base"
 android:dividerHeight="0.0dp"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"/>
Вот только этого мало. Параметр просто будет игнорироваться на Android 2.2 и на части устройств с оболчкой HTC Sense. Чтобы убрать разделитель - это необходимо сделать в программе.
//..
ListView listBase = (ListView) findViewById(R.id.list_base);
listBase.setDividerHeight(0);

2. Похожая проблема возникает и с WebView. Чтобы веб страница занимала всю отведенную ей область надо выставить у нее своейство scrollbarStyle в значение insideOverlay. В противном случае с правой стороны будет оставться пустое пространство в которой при скроллировании будет отображаться полоса прокрутки.
<android.webkit.WebView 
 android:id="@+id/baseWebView"
 android:scrollbarStyle="insideOverlay" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent"/>
Как и в прошлый раз нужное значение необходимо установить программно.
//..
WebView baseWebView = (WebView) findViewById(R.id.baseWebView);
baseWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

Комментариев нет:

Отправить комментарий