Android纵向和横向的布局问题
Android Layout issue of Portrait and Landscape
朋友们大家好我是 Android 开发和 Whosebug 的新手,
我在 android 布局中遇到了一些问题,
我创建了两个布局文件夹,一个用于纵向,一个用于横向(均用于平板电脑 TVDPI)
layout-sw600dp-land-tvdpi & layout-sw600dp-port-tvdpi
我面临的问题是,当我 运行 我的程序处于纵向模式时,它会显示正确的纵向布局,但是当我将设备纵向转换为横向时,它会显示相同的纵向布局,并且相同如果我 运行 它在横向模式下它 运行 正确并转向 potrait 它向我显示横向布局...
为什么?
试试这个
#region Handle State on Orientation
//this has been done using better technique
protected override void OnSaveInstanceState(Bundle outState)
{
base.OnSaveInstanceState(outState);
//adding spinner/dropdownlist selected item
if (ViewModel.IsLoading == true)
{
isLoadingState = true;
AndroidHUD.AndHUD.Shared.Dismiss(this);
}
var preferences = GetSharedPreferences("TmsAppData", FileCreationMode.Private);
var editor = preferences.Edit();
//editor.PutString("DeviceId", registrationId);
editor.PutBoolean("IsOrientationChange", true);
editor.Commit();
//outState.PutInt("_AlreadySelectedPostion", _AlreadySelectedPostion);
outState.PutBoolean("_isLoadingState", isLoadingState);
}
protected override void OnRestoreInstanceState(Bundle savedInstanceState)
{
base.OnRestoreInstanceState(savedInstanceState);
//setting a flag to manage spinner selected state
_IsStateViewActive = true;
isLoadingState = savedInstanceState.GetBoolean("_isLoadingState");
if (ViewModel.IsLoading == true)
{
isLoadingState = false;
ViewModel.IsLoading = true;
}
//getting the previous selected item from the saved state for spinner / dropdownlist
//_AlreadySelectedPostion = savedInstanceState.GetInt("_AlreadySelectedPostion");
}
#endregion
朋友们大家好我是 Android 开发和 Whosebug 的新手, 我在 android 布局中遇到了一些问题, 我创建了两个布局文件夹,一个用于纵向,一个用于横向(均用于平板电脑 TVDPI)
layout-sw600dp-land-tvdpi & layout-sw600dp-port-tvdpi
我面临的问题是,当我 运行 我的程序处于纵向模式时,它会显示正确的纵向布局,但是当我将设备纵向转换为横向时,它会显示相同的纵向布局,并且相同如果我 运行 它在横向模式下它 运行 正确并转向 potrait 它向我显示横向布局...
为什么?
试试这个
#region Handle State on Orientation
//this has been done using better technique
protected override void OnSaveInstanceState(Bundle outState)
{
base.OnSaveInstanceState(outState);
//adding spinner/dropdownlist selected item
if (ViewModel.IsLoading == true)
{
isLoadingState = true;
AndroidHUD.AndHUD.Shared.Dismiss(this);
}
var preferences = GetSharedPreferences("TmsAppData", FileCreationMode.Private);
var editor = preferences.Edit();
//editor.PutString("DeviceId", registrationId);
editor.PutBoolean("IsOrientationChange", true);
editor.Commit();
//outState.PutInt("_AlreadySelectedPostion", _AlreadySelectedPostion);
outState.PutBoolean("_isLoadingState", isLoadingState);
}
protected override void OnRestoreInstanceState(Bundle savedInstanceState)
{
base.OnRestoreInstanceState(savedInstanceState);
//setting a flag to manage spinner selected state
_IsStateViewActive = true;
isLoadingState = savedInstanceState.GetBoolean("_isLoadingState");
if (ViewModel.IsLoading == true)
{
isLoadingState = false;
ViewModel.IsLoading = true;
}
//getting the previous selected item from the saved state for spinner / dropdownlist
//_AlreadySelectedPostion = savedInstanceState.GetInt("_AlreadySelectedPostion");
}
#endregion