如何在Android中使用textview顯示顛倒的文本?如何在Android中使用textview顯示顛倒的文本?
在我的情況下,我有一個2人遊戲,他們在對面玩。我想向第二位面向他們的玩家展示測試。
這是我後AaronMs建議
,做壓倒一切的類實現的解決方案,bab.foo.UpsideDownText
package bab.foo;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.widget.TextView;
public class UpsideDownText extends TextView {
//The below two constructors appear to be required
public UpsideDownText(Context context) {
super(context);
}
public UpsideDownText(Context context, AttributeSet attrs)
{
super(context, attrs);
}
@Override
public void onDraw(Canvas canvas) {
//This saves off the matrix that the canvas applies to draws, so it can be restored later.
canvas.save();
//now we change the matrix
//We need to rotate around the center of our text
//Otherwise it rotates around the origin, and that's bad.
float py = this.getHeight()/2.0f;
float px = this.getWidth()/2.0f;
canvas.rotate(180, px, py);
//draw the text with the matrix applied.
super.onDraw(canvas);
//restore the old matrix.
canvas.restore();
}
}
這是我的XML佈局:
<bab.foo.UpsideDownText
android:text="Score: 0"
android:id="@+id/tvScore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
>
</bab.foo.UpsideDownText>
Hrm當我最初問這個問題不可用時。我在1.6版本,你知道這是否被添加到更高版本? – Ravedave 2013-07-23 14:43:50
只適用於API 11+ – AndroidDev 2013-07-30 15:41:04
試試看我的應用程序崩潰,, – 2015-12-28 03:06:59