Android 碎片中的操作栏-平板电脑和手机
我正在创建一个应用程序,在其中我使用片段以实现UI灵活性 在手机纵向和横向模式下,Fragmnet如下所示: 在平板电脑的纵向和横向模式下,显示如下: 我主要关心的是动作吧。我只想在智能手机处于横向模式时隐藏动作栏,此时片段B会全屏显示。 我想在所有其他情况下显示动作栏,如图所示Android 碎片中的操作栏-平板电脑和手机,android,android-fragments,android-actionbar,Android,Android Fragments,Android Actionbar,我正在创建一个应用程序,在其中我使用片段以实现UI灵活性 在手机纵向和横向模式下,Fragmnet如下所示: 在平板电脑的纵向和横向模式下,显示如下: 我主要关心的是动作吧。我只想在智能手机处于横向模式时隐藏动作栏,此时片段B会全屏显示。 我想在所有其他情况下显示动作栏,如图所示 我已经搜索了整个堆栈溢出,但没有找到任何解决方案。有人能帮我吗?提前感谢。要解决此问题,您需要做两件事: 检查您的设备是智能手机还是平板电脑。 在res文件夹中创建一个名为values-sw600dp的新资源文件夹。
我已经搜索了整个堆栈溢出,但没有找到任何解决方案。有人能帮我吗?提前感谢。要解决此问题,您需要做两件事: 检查您的设备是智能手机还是平板电脑。 在res文件夹中创建一个名为values-sw600dp的新资源文件夹。这仅适用于3.2之前的Android版本,对于以前的版本,请创建values xlarge文件夹 然后在这里创建一个文件并设置以下值:
<resources>
<bool name="isTablet">true</bool>
</resources>
如果是智能手机,请检查方向并隐藏操作栏。
在片段B中的onCreateView方法中,在使用your-new-resource-file.xml检查是否使用智能手机或平板电脑后,我们必须检查方向。如果方向为横向,则隐藏操作栏
boolean tabletSize = getResources().getBoolean(R.bool.isTablet);
if (!tabletSize)
{
//Lets check orientation
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
getActivity().getActionBar().hide(); //getSupportActionBar().hide() if using appcompat
}
}
希望有帮助我用这些代码检查我们是在智能手机还是平板电脑上:
// Function to check if we are inside Phone or Tablet
public static boolean isTablet(Context context) {
Boolean tablet = (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
return tablet;
/* Returns TRUE if we are in TABLET
*
* Returns FALSE if we in PHONE
*
*
* */
}
然后,如果我在手机内:我使用以下代码检查屏幕方向:
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
getActivity().getActionBar().hide(); //getSupportActionBar().hide() if using appcompat Library
}else{
getActivity().getActionBar().show();
}
你应该编辑你自己的问题,但无论如何,我认为你应该很好去!然后,在标准值文件res/values/中,将该布尔值设置为false:???你这句话是什么意思?请详细说明?我已编辑了我的答案,我的意思是,您必须创建多个新资源文件,每个文件夹大小1个,在资源的res文件夹标准文件夹中,您必须将isTablet值定义为false,在sw600dp文件夹中,您必须将其设置为true。我已接受您的答案。。请把我的问题标为重要或更高。如果你认为这是一个好问题
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
getActivity().getActionBar().hide(); //getSupportActionBar().hide() if using appcompat Library
}else{
getActivity().getActionBar().show();
}