Фон градиентной формы на нижнем макете

#android #background #gradient #shape

#Android #фон #градиент #фигуры

Вопрос:

вот некоторое поведение пользовательского интерфейса, которое я не понимаю…

Чего я хочу:

Это то, чего я хотел бы достичь

Что я получил:

Это реальный результат

Мой код:

 <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/black_to_white" />
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/blue_to_red" />
</LinearLayout>
  

код фона: (одинаковый код для обоих, за исключением цветов)

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

Как я могу сделать так, чтобы мой 2-й градиент начинался синим в середине экрана?

(Я заметил, что градиент отлично работает в режиме просмотра Android 3.0, но не в других версиях)

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

1. Действительно было бы лучше, если бы вы предоставили xml для того, чтобы drawable не работал. Кроме того, вы уже пробовали использовать один и тот же черно-белый фон для обоих framelayouts?

Ответ №1:

Я использую следующий код, и он отлично работает, как вам нужно.

 <shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#151B8D"
        android:endColor="#ff0000"
        android:angle="270" />
</shape>
  

Ответ №2:

Проблема в том, что вам не хватает альфа-символа в вашем цветовом коде:

 #[alpha][red][green][blue]