标签: android-orientation

在Android中禁用横向模式?

如何在我的Android应用中禁用某些视图的横向模式?

android android-manifest android-orientation

910
推荐指数
18
解决办法
56万
查看次数

如何在Android上禁用方向更改?

我有一个应用程序,我只想在纵向模式下使用,所以我在清单XML中定义了android:screenOrientation ="portrait".这适用于HTC Magic手机(并防止其他手机上的方向更改).

但是当我打开硬件QWERTY键盘(而不是虚拟键盘)时,我的HTC G1手机有问题.我的活动保持纵向模式,但它似乎重新启动并失去所有状态.HTC Hero版本不会发生这种情况.

我的应用程序非常大,因此我不希望它在键盘打开时重新启动并丢失所有状态.我怎么能防止这种情况?

android android-orientation android-activity

282
推荐指数
9
解决办法
24万
查看次数

后台任务,进度对话框,方向更改 - 是否有100%可行的解决方案?

我在后台线程(我使用AsyncTask)下载了一些来自互联网的数据,并在下载时显示进度对话框.方向更改,Activity重新启动,然后我的AsyncTask完成 - 我想关闭progess对话框并启动一个新的Activity.但是调用dismissDialog有时会抛出一个异常(可能是因为Activity被销毁而且还没有启动新的Activity).

处理此类问题的最佳方法是什么(从后台线程更新UI即使用户更改方向也能正常工作)?谷歌有人提供了一些"官方解决方案"吗?

android orientation android-orientation

233
推荐指数
4
解决办法
6万
查看次数

强制Android活动始终使用横向模式

我在HTC G1上使用Android VNC查看器.但由于某些原因,尽管我的G1处于纵向模式,但该应用程序始终处于横向模式.由于Android VNC查看器是开源的,我想知道如何将活动硬编码为"风景".我想改变它以尊重电话方向.

android landscape android-orientation

138
推荐指数
8
解决办法
28万
查看次数

Android:暂时禁用活动中的方向更改

我的主要活动有一些代码,可以进行一些不应该被中断的数据库更改.我正在另一个线程中进行繁重的工作,并使用我设置为不可取消的进度对话框.但是,我注意到如果我旋转手机,它会重新启动对正在运行的进程非常不好的活动,并且我会收到强制关闭.

我想要做的是以编程方式禁用屏幕方向更改,直到我的进程完成,此时方向更改已启用.

android screen-orientation android-orientation

113
推荐指数
9
解决办法
8万
查看次数

屏幕旋转后恢复TextView的状态?

在我的应用程序中我有TextViewEditText.两者都有数据.当屏幕方向更改EditText剩余数据时,TextView数据将被清除.

有人可以帮助我找到保留数据的方法TextView吗?

android onconfigurationchanged android-layout android-orientation

102
推荐指数
4
解决办法
6万
查看次数

在方向改变时处理片段的万无一失的方法

public class MainActivity extends Activity implements MainMenuFragment.OnMainMenuItemSelectedListener {

 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager
            .beginTransaction();

    // add menu fragment
    MainMenuFragment myFragment = new MainMenuFragment();
    fragmentTransaction.add(R.id.menu_fragment, myFragment);

    //add content
    DetailPart1 content1= new DetailPart1 ();
    fragmentTransaction.add(R.id.content_fragment, content1);
    fragmentTransaction.commit();

}
public void onMainMenuSelected(String tag) {
  //next menu is selected replace existing fragment
}
Run Code Online (Sandbox Code Playgroud)

我需要并排显示两个列表视图,左边是菜单,右边是内容,默认选择第一个菜单,右边显示内容.显示内容的片段如下

public class DetailPart1 extends Fragment {
  ArrayList<HashMap<String, String>> myList = new ArrayList<HashMap<String, String>>();
  ListAdapter adap;
  ListView listview;

  @Override
  public …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-orientation

82
推荐指数
2
解决办法
8万
查看次数

如何将布局方向修复为垂直?

如何将布局方向修改为纵向,并且在运行时不允许从纵向更改为横向?

android android-orientation

67
推荐指数
3
解决办法
8万
查看次数

控制相机以纵向拍摄照片不会旋转最终图像

我正在尝试控制Android相机在肖像应用程序中拍照,但是当我保存图片时,它是在风景中.我用setCameraDisplayOrientation()方法将图像旋转了90个等级 ,但是不起作用.

然后我发现这个职位,但TAG_ORIENTATIONIS 0(不确定).如果我捕获此值并应用旋转值,则也不起作用.

我如何拍摄肖像并以良好的方向保存?

    /** Initializes the back/front camera */
private boolean initPhotoCamera() {
    try {
        camera = getCameraInstance(selected_camera);

        Camera.Parameters parameters = camera.getParameters();
   //           parameters.setPreviewSize(width_video, height_video);
   //           parameters.set("orientation", "portrait");
   //           parameters.set("rotation", 1);
   //           camera.setParameters(parameters);


        checkCameraFlash(parameters);

   //            camera.setDisplayOrientation( 0);
        setCameraDisplayOrientation(selected_camera, camera);


        surface_view.getHolder().setFixedSize(width_video, height_video);


        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(width_video, height_video);
        surface_view.setLayoutParams(lp);

        camera.lock();

        surface_holder = surface_view.getHolder();
        surface_holder.addCallback(this);
        surface_holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

        setPreviewCamera();

    } catch (Exception e) {
        Log.v("RecordVideo", "Could not initialize the Camera");
        return false;
    }
    return true; …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-orientation

57
推荐指数
4
解决办法
5万
查看次数

使用GridLayoutManager和RecyclerView更改列数

在我的片段中,我按以下方式设置GridLayout: mRecycler.setLayoutManager(new GridLayoutManager(rootView.getContext(), 2));

所以,我只是想改变24,当用户旋转手机/平板电脑.我已经读过了onConfigurationChanged,我试图让它适用于我的情况,但它没有以正确的方式进行.当我旋转手机时,应用程序崩溃了......

你能告诉我如何解决这个问题吗?

以下是我找到解决方案的方法,该方法无法正常工作:

  @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        int orientation = newConfig.orientation;

        if (orientation == Configuration.ORIENTATION_PORTRAIT) {
            mRecycler.setLayoutManager(new GridLayoutManager(mContext, 2));
        } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
            mRecycler.setLayoutManager(new GridLayoutManager(mContext, 4));
        }
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

android android-orientation android-gridlayout android-recyclerview

55
推荐指数
5
解决办法
5万
查看次数