Как повернуть линию в Android XML?
Я пытаюсь нарисовать диагональную линию в приложении для Android с XML, но она не работает. Он просто рисует горизонтальную линию.
main.в XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TestActivity" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
style="@style/diagonalStyle">
</RelativeLayout>
</RelativeLayout>
стили.в XML:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="diagonalStyle">
<item name="android:background">@drawable/background</item>
</style>
</resources>
фон.в XML:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:fromDegrees="0"
android:toDegrees="45"
android:pivotX="50%"
android:pivotY="50%" >
<shape
android:shape="line"
android:top="1dip" >
<stroke
android:width="1dip"
android:color="#FF0000" />
</shape>
</rotate>
</item>
</layer-list>
2 ответов
вам действительно нужно было только одно изменение номера, чтобы заставить его работать. Просто измените fromDegrees на 45:
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="50%"
android:pivotY="50%" >
<shape
android:shape="line"
android:top="1dip" >
<stroke
android:width="1dip"
android:color="#FF0000" />
</shape>
</rotate>
</item>
поворот drawable http://developer.android.com/reference/android/graphics/drawable/RotateDrawable.html
фактически использует свойство Animation format http://developer.android.com/guide/topics/resources/animation-resource.html
в то время как вы делаете неживую диагональную линию, вы хотите, чтобы она началась на 45 градусов, и в конечном итоге на 45 градусов тоже. Поэтому устанавливать их как в 45-это норма.
Вы можете попробовать это : Создайте макет " разделитель.XML-код"
<?xml version="1.0" encoding="utf-8"?>
<View android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="@dimen/one_dp"
android:layout_weight=".1"
android:background="@drawable/transparent_divider"
android:padding="5dp"
android:rotation="180"/>
создать фигуру катры "transparent_divider.xml":
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="1dp" />
<solid android:color="#808080" />
</shape>