Настройка ширины и высоты для просмотра после поворота на 90 градусов в Android

Я хочу добавить вид и повернуть его на 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);

В результате ОБА ширина и высота получают одинаковое значение, поэтому представление выглядит следующим образом:

введите здесь описание изображения

В то время как я хотел, чтобы он расширялся на всю высоту своего родителя.


person Tamir    schedule 25.04.2016    source источник
comment
попробуйте код ниже, если он работает, пожалуйста, проголосуйте, спасибо :)   -  person Ashwini Bhat    schedule 25.04.2016


Ответы (1)


ViewGroup.LayoutParams.FILL_PARENTЗдравствуйте, не могли бы вы попробовать это вместо этого:

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

попробуй это:

Удалить setRotation

FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
person Ashwini Bhat    schedule 25.04.2016
comment
Я не могу удалить setRotation. Я знаю, что нет смысла поворачивать представление, как в моем коде, я просто упростил свой код, чтобы продемонстрировать проблему, с которой столкнулся. Я также заметил, что FILL_PARENT устарел. - person Tamir; 25.04.2016
comment
вам нужен вертикальный вид, верно? я попробовал, что моя система работает нормально, и я удалил setRotation .. даже вы можете попробовать XML - person Ashwini Bhat; 25.04.2016
comment
Я хочу использовать вертикальный SeekBar, поэтому я должен повернуть его. - person Tamir; 25.04.2016
comment
stackoverflow .com/questions/18395064/ перейдите по этой ссылке - person Ashwini Bhat; 25.04.2016
comment
Спасибо. Я уже проверил много решений для вертикального SeekBar, ни одно из них не работало должным образом с поддержкой RTL. Я проверю и этот. Но мне было интересно, есть ли решение общей проблемы, которую я опубликовал, а не конкретно для SeekBar, это похоже на очень базовую функциональность, которая должна поддерживаться в Android (вращающиеся представления), и может быть полезна и в моем случае. - person Tamir; 25.04.2016