android - 在Android中旋转90度后调整 View 的宽度和高度

标签 android view rotation width programmatically-created

我想以编程方式添加 View 并将其旋转 90 度,但我不知道如何正确设置其尺寸。

这是我的占位符:

        <FrameLayout
            android:layout_width="40dp"
            android:layout_height="match_parent"
            android:id="@+id/placeholder"
            android:orientation="vertical"
            android:background="@color/green"
            android:layout_weight="1">

我的代码是这样的:

    FrameLayout placeholderView = (FrameLayout) findViewById(R.id.placeholder);

    View myView = new View(getApplicationContext());
    myView.setBackgroundColor(Color.RED);
    myView.setRotation(90);
    FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
    myView.setLayoutParams(layoutParams);
    placeholderView.addView(myView);

结果是宽度和高度都得到相同的值,所以 View 看起来像这样:

enter image description here

虽然我希望它在其父级的整个高度上扩展。

最佳答案

ViewGroup.LayoutParams.FILL_PARENT你好,你能试试这个吗 而不是这个:

myView.setRotation(90);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)

试试这个:

删除设置旋转

FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);

关于android - 在Android中旋转90度后调整 View 的宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832846/

相关文章:

android - 如何使用多语言的 Android Assets?

android - 如何使用 SensorManager.getOrientation() 而不是 TYPE_ORIENTATION

java - 在 Layout-File 中膨胀 MapView 时出错

javascript - 当 initcomponent 加载 store extjs 4.1.1 时, View 不显示 store

android - 使用 FragmentStatePagerAdapater "The specified child already has a parent"错误

android - 修改包含的布局上的嵌套属性

python - 将四元数值从 IMU 重置为 X :0, Y :0, Z :0, W:1

python - 使用 openCV 和 python 旋转 2D 点

CSS 文本旋转

android - 添加 getCheckedRadioButtonId() 时应用崩溃