Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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
Java Android:通过编程在按钮内旋转文本_Java_Android_Text Rotation - Fatal编程技术网

Java Android:通过编程在按钮内旋转文本

Java Android:通过编程在按钮内旋转文本,java,android,text-rotation,Java,Android,Text Rotation,我正在制作一个带有拖放菜单的应用程序。用户可以填写三个编辑文本(宽度、高度和旋转),然后按“添加新”按钮,并在原点创建具有指定值的新按钮。但是,如果“旋转”属性不是0(例如45度),则它会将整个按钮与文本一起旋转。我希望文本保持水平,不旋转。我已经查过了,但是帖子都引用了我已经在使用的旋转属性 onViewCreated() “旋转”属性旋转整个视图,而不仅仅是文本或背景。那是故意的。没有文本或背景旋转属性。如果需要,请创建自定义视图 如果只希望背景旋转,可以通过将“背景可绘制”设置为可旋转可绘

我正在制作一个带有拖放菜单的应用程序。用户可以填写三个编辑文本(宽度、高度和旋转),然后按“添加新”按钮,并在原点创建具有指定值的新按钮。但是,如果“旋转”属性不是0(例如45度),则它会将整个按钮与文本一起旋转。我希望文本保持水平,不旋转。我已经查过了,但是帖子都引用了我已经在使用的旋转属性

onViewCreated()


“旋转”属性旋转整个视图,而不仅仅是文本或背景。那是故意的。没有文本或背景旋转属性。如果需要,请创建自定义视图


如果只希望背景旋转,可以通过将“背景可绘制”设置为可旋转可绘制来完成。旋转属性可旋转整个视图,而不仅仅是文本或背景。那是故意的。没有文本或背景旋转属性。如果需要,请创建自定义视图


如果您只想旋转背景,可能可以将背景可绘制设置为可旋转可绘制,以包裹所需背景。

尝试仅旋转背景可绘制。尝试仅旋转背景可绘制。
tvAddTable = view.findViewById(R.id.btn_add_table);
    tvWidth = view.findViewById(R.id.et_width);
    tvHeight = view.findViewById(R.id.et_height);
    tvRotation = view.findViewById(R.id.et_rotation);
    mSize = new Point();
    mDisplay = Objects.requireNonNull(getActivity()).getWindowManager().getDefaultDisplay();
    mDisplay.getSize(mSize);

    final View.OnTouchListener touchListener = this;
    tvAddTable.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {[enter image description here][1]
            ConstraintLayout layout = view.findViewById(R.id.floor_layout);

            //set the properties for button
            Button btnTag = new Button(getContext());
            btnTag.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

            if(ids.isEmpty()){
                ids.add(0);
            }else{
                ids.add(ids.size());
            }
            btnTag.setId(ids.size());
            btnTag.setText(Integer.toString(btnTag.getId()));

            //add button to the layout
            layout.addView(btnTag);
            btnTag.setLayoutParams(new ConstraintLayout.LayoutParams(Integer.parseInt(tvWidth.getText().toString()), Integer.parseInt(tvHeight.getText().toString())));
            btnTag.setRotation(Integer.parseInt(tvRotation.getText().toString()));
            btnTag.setOnTouchListener(touchListener);
        }
    });