2014-01-09 2 views
0

Я разрабатываю пользовательский интерфейс приложения и хочу разделить мой макет на 4 части. (Использование двух ортогональных линий).Поворотный ход не заполняет высоту

Layout фон должен быть sweep типа градиен цвета, как показано ниже:

<shape android:shape="rectangle" > 
    <gradient 
     android:centerColor="@color/gradiant_center_color" 
     android:endColor="@color/gradiant_end_color" 
     android:startColor="@color/gradiant_start_color" 
     android:type="sweep" /> 
</shape> 

Чтобы создать ортогональные линии, я использую от rotate и stroke следующего образом:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <rotate 
      android:fromDegrees="90" 
      android:pivotX="50%" 
      android:pivotY="50%" > 
      <shape android:shape="line" > 
       <stroke 
        android:width="1dip" 
        android:color="@color/separator_color" /> 
      </shape> 
     </rotate> 
    </item> 
    <item> 
     <shape 
      android:shape="line" > 
      <stroke 
       android:width="1dp" 
       android:color="@color/separator_color" /> 
     </shape> 
    </item> 
</layer-list> 

Теперь я совмещаю два вводимые коэффициент и создать фон, как показано ниже:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <gradient 
       android:centerColor="@color/gradiant_center_color" 
       android:endColor="@color/gradiant_end_color" 
       android:startColor="@color/gradiant_start_color" 
       android:type="sweep" /> 
     </shape> 
    </item> 
    <item android:drawable="@drawable/separator_border"/> 
</layer-list> 

Все правильно, после установки макета фон, мой фон:

enter image description here

Как вы видите на изображении, горизонтальная линия не заполняет экран. Так почему?! Пожалуйста, дайте мне решение, чтобы решить мою проблему.

Заранее спасибо :)

ответ

0

форму линии рисует горизонтальную линию длины ширины вводимого коэффициента, который затем вращают на 90 градусов (в 2 строки имеют одинаковую длину).

Вы можете быть в состоянии поставить <size width="999999dp" height="1dp" /> внутри повернутой <shape>

Или,

поставить <scale> либо обернув <rotate> или внутри него (обертывание <shape>)

<rotate ...> 
    <scale scaleWidth="200%" scaleHeight="100%"> 
     <shape ...> 

или

<scale scaleWidth="200%" scaleHeight="100%"> 
    <rotate ...> 
     <shape ...> 
+0

Ваше решение не сработало для меня! –

+0

Добавлено дополнительное предложение – FunkTheMonk

+0

Не могли бы вы объяснить что-то еще? –

Смежные вопросы