среда, 4 сентября 2013 г.

ActionBar on Android 2.2

Как корректно добавить SupportLibrary
http://habrahabr.ru/post/189680/

Как задать background у компонента ActionBar

private void setActionBarBackground() {
        ActionBar ab = getSupportActionBar();
        GradientDrawable gd = new GradientDrawable(
                GradientDrawable.Orientation.TOP_BOTTOM,
                new int[]{0xFFFFFFFF, 0xFF000000});
        gd.setCornerRadius(0f);
        ab.setBackgroundDrawable(gd);
    }

Еще во втором андроиде нужно убирать TitleBar
if (VERSION.SDK_INT < VERSION_CODES.ICE_CREAM_SANDWICH) {
   requestWindowFeature(Window.FEATURE_NO_TITLE);
   ActionBar actionBar = getSupportActionBar();
   setActionBarBackground(actionBar);
  }

check GPS provider

Как осуществить проверку наличия GPS на устройстве
При поиске по locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) вылезает Exception на устройствах, где GPS нет. а эксепшены - это же не наш метод)
поэтому определяем наличие GPS более гуманным способом
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
List providers = new ArrayList();
providers = locationManager.getAllProviders();
for(String s:providers){
 if(s.equals("gps")){
             //GPS есть
        }else{
             //GPS нет
        }

Blogger java/html code formatting

Как оказалось - все просто
проходим путь Шаблон-Изменить HTML-разворачиваем код от тега
 <b:skin>
и вставляем содержимое файлов css из ссылочки
http://blog.cruxframework.org/2011/10/easy-code-syntax-highlight-on-blogger.html

далее нужный фрагмент кода заключаем в тег
<pre class="brush:html">
...
</pre>

или

<pre class="brush:java">
...
</pre>

public class SyntaxHighlighterWorksFineHere

    {
        public static void main(String[] args)
        {
            System.out.println("Hello world!");
        }
    }
 

вторник, 3 сентября 2013 г.

Android 2.2. Диалоги

Вот как нужно разделять стили для разных версий Android
особенность второго в том, что диалоговое окно (кастомное) и при black и light одинаковое, а цвета внутренних компонентов меняются в зависимости от установленного стиля. и вот так получается, что окно всегда темное, а содержимое и темное, и светлое.
в отличие от четвертой версии Андроид.

итак!
нужно разделить стили по папкам - дефолтная, v11,v14
для компонента AutoCompleteTextView в дефолтную прописываем в styles.xml
<style name="LightTheme" parent="@android:style/Theme.Light">
        <item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewLight</item>
        <item name="android:dropDownItemStyle">@style/Widget.DropDownItemLight</item>
    </style>

    <style name="BlackTheme" parent="@android:style/Theme">
        <item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewLight</item>
        <item name="android:dropDownItemStyle">@style/Widget.DropDownItemLight</item>
    </style>

    <style name="AutoCompleteTextViewLight" parent="@android:style/Widget.AutoCompleteTextView">
        <item name="android:textColor">@android:color/primary_text_light</item>
    </style>

    <style name="Widget.DropDownItemLight" parent="@android:style/Widget.DropDownItem">
        <item name="android:textColor">@android:color/primary_text_light</item>
    </style>

 и для компонента ProgressBar
<style name="ProgressBarLight" parent="@android:style/Widget.ProgressBar"> </style> 
а для v11 и v14
<style name="LightTheme" parent="@android:style/Theme.Holo.Light">
      
    </style>

    <style name="BlackTheme" parent="@android:style/Theme.Holo">
    </style>   
  
    <style name="ProgressBarLight" parent="@android:style/Widget.Holo.ProgressBar">
 </style>    






Лирическое отступление №1

буду постить здесь интересные решения, найденные при выполнении задач. вот и начну лучше разбираться, сама для себя уясню много вещей, да и проще потом будет в коде разбираться)
муа)