代码之家  ›  专栏  ›  技术社区  ›  nikib3ro

如何根据当前屏幕方向设置活动内容?

  •  1
  • nikib3ro  · 技术社区  · 14 年前

    if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
        setContentView(R.layout.search_portrait);
    else
        setContentView(R.layout.search_landscape);
    

    问题是-getRequestedOrientation总是返回-1。

    3 回复  |  直到 13 年前
        1
  •  5
  •   Dave    14 年前

    如果你只是在改变布局,你真的应该考虑把你的肖像布局 /res/layout 以及你的景观布局 /res/layout-land (同名)Android会自动选择正确的布局。

        2
  •  1
  •   Cristian    14 年前

    尝试添加 android:screenOrientation="portrait" android:screenOrientation="landscape" getRequestedOrientation " 返回当前请求的活动方向。这要么是 组件清单中要求的方向 ,或上一次请求的给定给setRequestedOrientation(int)的方向。 ".

        3
  •  0
  •   Aamir    10 年前

     if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
    
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        else
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    
    setContentView(R.layout.main_activity);
    

    并将landscape xml文件放入

    /住宅/布局用地

    注意:所有布局目录中的布局文件名必须相同