Как я могу изменить макет и суб-макет без использования функции поворота Java по умолчанию? - PullRequest
0 голосов
/ 29 января 2019

Я устанавливаю приложение и хочу преобразовать все макеты, как (поворот экрана Java), но я не хочу использовать код по умолчанию и хочу преобразовать с помощью чистого кода.Я не хочу использовать поворот экрана по умолчанию и использовать функцию setRtoate().в коде Swift Вы можете преобразовать, чтобы повернуть или Реверсировать Вид или Макет.в быстром мы можем использовать этот код для преобразования вида.

UIView lbl.
CGAffineTransform verticalFlip = CGAffineTransformMakeScale(1,-1).
lbl.transform = verticalFlip.
otherLbl.transform = verticalFlip.

в этой функции rotateAllScreen(View view) у меня есть код для изменения ширины и высоты frameLayout, но это не эффективный способ?

Как я могу преобразовать все макеты и суб-макеты, как поворот экрана .?


  public class MainActivity extends CoreActivity {

    private DonationFragment productFragment;
    FrameLayout frameLayout;

    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        frameLayout = findViewById(R.id.fragment_container);
        // Add product list fragment if this is first creation
        if (savedInstanceState == null) {
            CharityListFragment fragment = new CharityListFragment();

            getSupportFragmentManager().beginTransaction()
                    .add(R.id.fragment_container, fragment, CharityListFragment.TAG).commit();
        }
    }

    private void chageRotate(){
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
      //or
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    // i need all code here to transform all Screen 
    // and i dont wnat to use chageRotate()
    public void rotateAllScreen(View view) {
      //what should i do?
        final int width  = mDisplay.getWidth();
        final int height = mDisplay.getHeight();

        frameLayout.setLayoutParams(new FrameLayout.LayoutParams(height,width));
        frameLayout.requestLayout();

        frameLayout.setRotation(90.0f);
    }

}
...