Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android textview中的镜像文本?_Android_Textview_Mirror - Fatal编程技术网

Android textview中的镜像文本?

Android textview中的镜像文本?,android,textview,mirror,Android,Textview,Mirror,我试图做一个简单的应用程序,输出一堆文本到android屏幕,问题是它必须被镜像(将被视为“hud”) 令人惊讶的是,在安卓4.0中,您只需转到textview.setScaleX(-1)即可使用textview实现这一点。。。在4.0之前,我找不到太多。setTextScaleX(-1)不起作用(实际上它有点起作用,但只出现一个字符,尽管它是镜像的)。4.0方法也适用于我的手机(运行cm9的nexus s) 我偶然发现了一些建议,例如使用AndroidCharacter.Mirror()没有成

我试图做一个简单的应用程序,输出一堆文本到android屏幕,问题是它必须被镜像(将被视为“hud”)

令人惊讶的是,在安卓4.0中,您只需转到textview.setScaleX(-1)即可使用textview实现这一点。。。在4.0之前,我找不到太多。setTextScaleX(-1)不起作用(实际上它有点起作用,但只出现一个字符,尽管它是镜像的)。4.0方法也适用于我的手机(运行cm9的nexus s)

我偶然发现了一些建议,例如使用AndroidCharacter.Mirror()没有成功,我似乎只有3个选择:

1) 编写自定义(镜像)字体 2) 了解如何覆盖onDraw(根据) 3) 把一切都画在画布上

第一种是合理的,我可能会这样做,但它限制了我使用一种语言(或大量工作)。第二个+第三个我很迷茫,虽然我很确定我可以从我找到的几个例子中找到它(例如:)


在我尝试第二次或第三次之前,有没有其他我可能没有考虑过的选项?

我很确定这在4.0之前的TextView中是不可能的

镜像的自定义文本视图没有那么难:

package your.pkg;

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.widget.TextView;

public class MirroredTextView extends TextView {

    public MirroredTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.translate(getWidth(), 0);
        canvas.scale(-1, 1);
        super.onDraw(canvas);
    }

}
并用作:

<your.pkg.MirroredTextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World" />


谢谢你,我尝试了类似的方法,但我先调用了super.onDraw(),尽管看起来我还犯了一些其他错误!另一种选择是使用纯文本: