Android textview中的镜像文本?
我试图做一个简单的应用程序,输出一堆文本到android屏幕,问题是它必须被镜像(将被视为“hud”) 令人惊讶的是,在安卓4.0中,您只需转到textview.setScaleX(-1)即可使用textview实现这一点。。。在4.0之前,我找不到太多。setTextScaleX(-1)不起作用(实际上它有点起作用,但只出现一个字符,尽管它是镜像的)。4.0方法也适用于我的手机(运行cm9的nexus s) 我偶然发现了一些建议,例如使用AndroidCharacter.Mirror()没有成功,我似乎只有3个选择: 1) 编写自定义(镜像)字体 2) 了解如何覆盖onDraw(根据) 3) 把一切都画在画布上 第一种是合理的,我可能会这样做,但它限制了我使用一种语言(或大量工作)。第二个+第三个我很迷茫,虽然我很确定我可以从我找到的几个例子中找到它(例如:)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()没有成
在我尝试第二次或第三次之前,有没有其他我可能没有考虑过的选项?我很确定这在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(),尽管看起来我还犯了一些其他错误!另一种选择是使用纯文本: