Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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)中更改文本旋转_Android_Github_Orientation_Android Canvas_Android Custom View - Fatal编程技术网

如何在幸运轮(Android)中更改文本旋转

如何在幸运轮(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

这里是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);
    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我也在使用这个图书馆。有没有可能得到切片的点击?这是一个自定义视图,没有那么简单