回転タグ内にシェイプをネストできます。
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="90">
<shape
android:shape="line">
<stroke
android:width="1dp"
android:color="#ff00ff"
android:dashWidth="1dp"
android:dashGap="2dp" />
</shape>
</rotate>
ただし、唯一の問題は、レイアウトxmlで定義されたレイアウトパラメータが、元の形状の描画に使用される寸法になることです。行の高さを30 dpにする場合は、レイアウトxmlでlayout_widthを30 dpに定義する必要があります。ただし、その場合、最終的な幅も30 dpになるため、ほとんどの状況では望ましくない可能性があります。これは基本的に、幅と高さの両方が同じ値、つまり線に必要な長さの値でなければならないことを意味します。これを修正する方法がわかりませんでした。
これは「Androidの方法」による解決策のようですが、寸法の問題に対する修正または回避策がない限り、ほとんどの人にとってこれはおそらく機能しません。実際に必要なのは、<shape />または<stroke />の方向属性です。
次のような回転タグの属性で別のドローアブルを参照してみることもできます。
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="90"
android:drawable="@drawable/horizontal_line" />
しかし、私はこれをテストしておらず、同じ問題があることを期待しています。
-編集-
ああ、私は実際に修正を見つけました。レイアウトxmlで負のマージンを使用して、不要な余分なスペースを取り除くことができます。といった:
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="-15dp"
android:layout_marginRight="-15dp"
android:src="@drawable/dashed_vertical_line" />