如何在幸运轮(Android)中更改文本旋转
这里是GitHub代码的链接 我尝试使用这段代码更改画布的旋转如何在幸运轮(Android)中更改文本旋转,android,github,orientation,android-canvas,android-custom-view,Android,Github,Orientation,Android Canvas,Android Custom View,这里是GitHub代码的链接 我尝试使用这段代码更改画布的旋转 private void drawText(Canvas canvas, float tmpAngle, float sweepAngle, String mStr) { Path path = new Path(); path.addArc(mRange,tmpAngle,sweepAngle); float textWidth = mTextPaint.measureText(mStr); i
private void drawText(Canvas canvas, float tmpAngle, float sweepAngle, String mStr) {
Path path = new Path();
path.addArc(mRange,tmpAngle,sweepAngle);
float textWidth = mTextPaint.measureText(mStr);
int hOffset = (int) (mRadius * Math.PI / mLuckyItemList.size()/2-textWidth/2);
int vOffset = mRadius/2/4;
canvas.drawTextOnPath(mStr, path, hOffset, vOffset, mTextPaint);
}
我想改变文本的方向,如下图所示
在XML代码中,您可以使用
android:rotation="120" (Then any angle you want positive or negative)
但是,您可能需要在图像位于底部时旋转该图像,然后在图像位于顶部时再次旋转该图像。因此,您可以随时按编程方式旋转它
TextView textView = findViewById(R.id.textView);
ImageView imageView = findViewById(R.id.imageView);
textView.setRotation(120);
imageView.setRotation(120);
如果你想让它回到最初的位置。你只要加上负号
textView.setRotation(-120);
imageView.setRotation(-120);
当然,角度取决于您。在最新版本的中,当初始化
LuckyItem
s数据时,您可以设置LuckyItem.secondaryText
的值,而不是LuckyItem.topText
,并且您将拥有所需的文本方向
像这样:
List<LuckyItem> data = new ArrayList<>();
for (int i = 0; i < sectorsTitles.length; i++) {
LuckyItem luckyItem = new LuckyItem();
// luckyItem.topText = sectorsTitles[i]; // Don't use this
luckyItem.secondaryText = sectorsTitles[i]; // Use this instead
luckyItem.color = Color.parseColor(ROULETTE_COLORS[i]);
data.add(luckyItem);
}
luckyWheelView.setData(data);
List data=new ArrayList();
对于(int i=0;i
而你被困在了….?方向是固定的,我需要更改方向,你可以检查drawText方法,它会在其中写入一些内容string@ArslanDurrani我也在使用这个图书馆。有没有可能得到切片的点击?这是一个自定义视图,没有那么简单