Градиентные стили - PullRequest
       12

Градиентные стили

6 голосов
/ 10 августа 2010

В своем приложении для Android я спрятал строку заголовка по умолчанию, ввел TabView и добавил собственную заголовок под вкладками этого TabView. На данный момент я использую стиль? Android: attr / windowTitleStyle, который делает мой новый заголовок серым и градиентным. Это выглядит довольно хорошо, но мои экраны выглядят довольно серыми. Я бы хотел немного оживить, сделав этот заголовок другого цветового градиента.

Что я здесь смотрю? Создание собственного изображения и его использование? Стиль? Android: attr / windowTitleStyle, кажется, расширяется в зависимости от высоты вашего пользовательского заголовка; поэтому я не уверен, что это на самом деле одно изображение.

Я попытался наложить на него LinearLayout с небольшим количеством полупрозрачности (например: сделать цвет # 800000FF), но стиль градиента, который у меня есть за этим LinearLayout, исчезает.

Спасибо за вашу помощь

Обновление:

Согласно моему ответу ниже, я понял, что могу создать файл XML, который определяет градиент, и использовать его. Он отлично работает внутри LinearLayout (titlebar_gradient), который есть у меня на макете. Однако он не работает с самым внешним LinearLayout (background_gradient). Может кто-нибудь сказать мне, почему? Насколько я понимаю, ListView должен быть прозрачным ...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="@drawable/background_gradient"
 >
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="47dip"
  android:background="@drawable/titlebar_gradient"
  android:gravity="center">
  <TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1"
   android:text="Item"
   style="?android:attr/windowTitleStyle"
   android:paddingLeft="5dip"
   android:maxLines="1"
   android:ellipsize="end" />
 </LinearLayout>
    <ListView
     android:id="@+id/android:list"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
  android:paddingTop="10dip"
  android:clickable="false"
    />
 <TextView
     android:id="@+id/android:empty"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
    />
</LinearLayout>

Ответы [ 2 ]

9 голосов
/ 10 августа 2010

Теперь я понимаю свою проблему.

Я создал XML-файл в своей папке drawables, который выглядит следующим образом

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
       <gradient
        android:startColor="#00CC66"
        android:endColor="#009966"
        android:angle="270"/>
    /shape>

На панели инструментов я установил фон для этого рисованного объекта..

3 голосов
/ 05 апреля 2011

Да, я тоже видел пример для того, чтобы задать цвета градиента для линейного слоя или для кнопки на этом сайте http://android -codes-examples.blogspot.com / 2011/04 / animated-customized-popup-transparent .html

...