在android中以编程方式使用纵向和横向模式

时间:2012-07-12 06:48:46

标签: android android-layout

我想为纵向和横向模式(在java中)创建布局,并在java文件中以编程方式更改方向。有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用Activity类的setRequestOrientation()方法以编程方式强制更改方向。

 public class Example extends Activity 
  {
  @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //---change to landscape mode---
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   }
 }

要更改为纵向模式,请使用ActivityInfo.SCREEN_ORIENTATION_PORTRAIT常量:

有关详细信息,请参阅this

编辑

您可以像Activity一样为AndroidManifest.xml中的特定 <activity android:name=".DemoActivity" android:label="@string/app_name" android:screenOrientation="portrait"> 添加方向:

res/

就布局而言,最好建议在res/layout-port下创建不同的文件夹。例如,您可以为纵向创建res/layout-land,为横向创建{{1}}。

答案 1 :(得分:0)

试试这个:

if(context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) 
    {
        // code to do for Landscape Mode     
    } else {

        // code to do for Portrait Mode  
    }