Я устанавливаю приложение и хочу преобразовать все макеты, как (поворот экрана 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);
}
}