我是Android开发的新手,我试图在我的黄色RelativeLayout中从左下角到右上角画一条线。
我添加了layer-list
- diagonal_line
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="300dp"
android:bottom="-300dp"
android:left="0dp"
android:right="-300dp">
<rotate
android:fromDegrees="-10"
android:pivotX="0%"
android:pivotY="100%" >
<shape
android:shape="line"
android:top="1dip" >
<stroke
android:width="1dip"
android:color="#000" />
</shape>
</rotate>
</item>
然后到styles
<style name="diagonalStyle">
<item name="android:background">@drawable/diagonal_line</item>
</style>
然后将其添加到我的RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
style="@style/diagonalStyle"
android:background="#FFDC7F">
我的问题是,如果我添加了线条未显示的颜色而没有颜色,则显示该线条,但不在正确的位置。也许这个问题是重复的,但请保持温和,我不知道我做错了什么。
答案 0 :(得分:0)
您应该使用VectorDrawable
路径从左下角到右上角在黄色RelativeLayout
内绘制线条。您的diagonal_line.xml
应该是(假设线条颜色为蓝色#0000FF
,线宽为4
):
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<path
android:name="diagonal_line"
android:strokeColor="#0000FF"
android:strokeWidth="4"
android:pathData="M600, 0 l-600, 600z" />
</vector>
(绝对尺寸不重要,因为矢量将重新调整为RelativeLayout
尺寸)。您的styles.xml
应包含
<style name="diagonalStyle">
<item name="android:background">@drawable/diagonal_line</item>
</style>
正如您所写,如果您无法在backgroundTint
文件中使用{your_layout}.xml
,则应为android:background="#FFDC7F"
设置纯色背景(Relativelayout
)并放置& #34;虚设&#34; View
上有diagonalStyle
(style="@style/diagonalStyle"
)。这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<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:background="#FFDC7F"
tools:context="{YOUR_CONTEXT}">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/diagonalStyle" />
</RelativeLayout>
结果,你应该给出类似的东西:
更多路径教程here。