感谢 Parth Doshi 的回答。他的答案需要稍微调整才能运行,我在这里分享以节省其他人的时间。
首先在 src 文件夹中创建一个类并编写所有三个构造函数。
public class TextViewDemo extends TextView {
Context context;
String text = "TESTING 3DX TOOLS";
public TextViewDemo(Context context) {
super(context);
this.context = context;
}
public TextViewDemo(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}
public TextViewDemo(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.context = context;
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
setText(text);
setTextSize(30);
canvas.skew(0.5f, 1.0f); // you need to change values over here
Rotate3dAnimation skew = new Rotate3dAnimation(-50, 30, 0, 0, 0,
false); // here too
startAnimation(skew);
}
}
在 res/layout/my_layout.xml 文件中,您可以添加自定义 TextView 的标签。
<com.yourpackage.name.TextViewDemo
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Hello World"
<!-- All parameters and value shall remain same -->
/>
像任何其他视图一样,您可以在 onCreate() 方法中创建 TextViewDemo 的实例
TextViewDemo txtDemo = (TextViewDemo) findViewById(R.id.name);
问候