(抱歉我的问题很糟糕。我现在更新了)
如何在XML文件中创建它?我尝试使用以下代码,但不正确(我使用“android:rotation =” - 90“进行旋转。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:layout_width="141dp"
android:layout_height="200dp"
android:layout_weight="0.41"
android:orientation="vertical" >
<EditText
android:id="@+id/sidebar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shape_card_sidebar"
android:inputType="text"
android:rotation="-90"
android:text="I want to be like this" >
</EditText>
</FrameLayout>
答案 0 :(得分:2)
如果你尝试这样做,你会遇到几个问题。最明显的问题是不正确的测量。相反,您应该创建自定义视图。像这样:
public class RotatedTextVew extends TextView {
public RotatedTextView(Context context) {
super(context);
}
public RotatedTextView(Context context, AttributeSet attrs) {
super(context, attrs)
}
public RotatedTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Switch dimensions
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(90);
super.onDraw(canvas);
canvas.restore();
}
}
我实际上没有对此进行测试,但这就是我的开始。
答案 1 :(得分:0)
将 FrameLayout 替换为&lt; 相对&gt;或&lt; LinearLayout &gt;。同时设置父布局的android:gravity =“center”属性。