Android edittext输入方向

时间:2017-02-03 03:50:38

标签: android android-edittext

有什么方法可以改变Android Edittext输入方向吗?这是从上到下和从右到左,如下图所示:

i.stack.imgur.com/6T6ht.jpg

风格类似于日文和中文字母

https://i.stack.imgur.com/S4u9v.jpg

谢谢!

更新

抱歉我的表情不清楚,虽然输入方向正确,但是 旋转文本方向,这是不需要的。为了更好的表达,我更新了 下图: https://i.stack.imgur.com/hz6RB.jpg

非常感谢!!!!

4 个答案:

答案 0 :(得分:0)

将此内容添加到您的editText中,从右到左

android:textDirection="rtl"

答案 1 :(得分:0)

您可以在EditText中添加旋转属性

<EditText
        android:layout_width="match_parent"
        android:rotation="270"
        android:layout_height="wrap_content" />

答案 2 :(得分:0)

尝试这种方式,然后创建其他edittexts。它对我有用

 <EditText
        android:layout_width="match_parent"
        android:rotation="270"
        android:textDirection="rtl"
        android:layout_height="wrap_content" />

答案 3 :(得分:0)

您可以尝试使用自定义VerticalEditText,如下所示

类 - VerticalEditText.java

package com.cj.myapplication.croper;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.widget.EditText;

/**
 * Created by CHETAN JOSHI on 2/3/2017.
 */

public class VerticalEditText extends EditText {
    private Rect bounds = new Rect();
    private TextPaint textPaint;
    private int color;

    public VerticalEditText(Context context) {
        super(context);
    }

    public VerticalEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        color = getCurrentTextColor();
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        textPaint = getPaint();
        textPaint.getTextBounds(getText().toString(), 0, getText().length(), bounds);
        setMeasuredDimension((int) (bounds.height() + textPaint.descent()), bounds.width());
    }

    @Override
    protected void onDraw(Canvas canvas) {
        textPaint.setColor(color);
        canvas.rotate(-90, bounds.width(), 0);
        canvas.drawText(getText().toString(), 0, -bounds.width() + bounds.height(), textPaint);
    }
}

添加XML,如下所示:

 <com.cj.myapplication.croper.VerticalEditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@android:color/holo_red_dark"
        android:gravity="center"
        android:text="bbfrbgbrfgbirfbgubui"
        android:textColor="@color/colorPrimary" />