当我尝试切换模拟器的方向时, 模拟器窗口会旋转, 模拟器屏幕的方向将保持原样。 任何人都可以告诉我这是什么原因 ?我已经尝试了所有来自StackOverflow的答案,似乎没有任何帮助
在我的片段内我以下面的方式设置我的GridLayout: mRecycler.setLayoutManager(new GridLayoutManager(rootView.getContext(), 2)); 所以,我只是想在用户旋转手机/平板电脑时将其更改为4 。 我已阅读onConfigurationChanged并试图使其适用于我的情况,但它不会以正确的方式。 当我旋转我的手机,应用程序崩溃… 你能告诉我如何解决这个问题? 这是我的方法来find解决scheme,这是不正确的工作: @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)); } } 提前致谢!
如何修正布局的方向肖像,并不允许在运行时从肖像更改为风景?
我有一个应用程序,我只是想在肖像模式下使用,所以我在清单XML中定义了android:screenOrientation =“portrait”。 这对HTC Magic手机可以正常工作(并防止其他手机的方向更改)。 但是当我打开硬件QWERTY键盘 (而不是虚拟键盘)时,我遇到了HTC G1手机的问题。 我的活动停留在肖像模式,但似乎重新启动,并失去了所有的状态。 HTC Hero版本不会发生这种情况。 我的应用程序是相当大的,所以我不希望它重新启动,并在键盘打开时失去其所有的状态。 我怎样才能防止呢?
我有一个肖像模式的相机应用程序,从前端和后端摄像头拍照。我将图像保存在我的SD卡上,并试图find相应的exif值,总是给出0。但是我得到了预期的exif方向存储在设备中的其他图像的值(如下载的图片)。 我该如何解决这个问题? 谁能帮我吗 ? 这里是用来保存图片和find方向的代码 PictureCallback myPictureCallback_JPG = new PictureCallback() { @Override public void onPictureTaken(byte[] arg0, Camera arg1) { // TODO Auto-generated method stub try { File APP_FILE_PATH = new File(Environment.getExternalStorageDirectory() .getPath() + "/Myapp/"); if (!APP_FILE_PATH.exists()) { APP_FILE_PATH.mkdirs(); } File file = new File(APP_FILE_PATH, "image.jpg"); FileOutputStream fos = new FileOutputStream(file); fos.write(arg0); fos.close(); imageFileUri=Uri.fromfile(file); getApplicationContext().getContentResolver().notifyChange( imageFileUri, […]
我试图控制Android相机在肖像应用程序中拍照,但是当我保存图片时,它处于横向模式。 我用setCameraDisplayOrientation()方法旋转了90个图像的等级,但是不起作用。 然后我发现这个post,但TAG_ORIENTATION是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(); […]
在我的应用程序中,我有TextView和EditText 。 两者都有数据。 当屏幕方向改变时, EditText的数据仍然存在,但TextView数据被清除。 有人可以帮我find一种在TextView保留数据的方法吗?
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 […]
我试图从本质上复制Android市场上最新的YouTube应用程序的function。 观看video时,有两种独立的布局,一种是纵向显示附加信息,另一种是横向显示video。 YouTupe应用程序在肖像模式 横向模式下的YouTube应用 (抱歉的照片的随机性,但他们是我能find的实际布局的第一个图片) 这很容易做到 – 只需在layout-land中指定一个可选的布局,一切都会很好。 YouTube应用程序确实做得很好(以及我想要复制的内容)是在方向更改上,video继续播放,不必从头开始重新缓冲。 我已经知道覆盖onConfigurationChange()并设置新的LayoutParameters将允许我调整video的大小而不强制重新制止 – 但是当多次旋转屏幕时video会随机缩放到不同的宽度/高度。 我试过在VideoView上做各种各样的invalidate()调用,试着在父亲的RelativeLayout容器上调用RequestLayout(),尽可能地尝试尽可能多的东西,但是我似乎无法使它正常工作。 任何build议将不胜感激! 这是我的代码: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { questionText.setVisibility(View.GONE); respond.setVisibility(View.GONE); questionVideo.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); } else { questionText.setVisibility(View.VISIBLE); respond.setVisibility(View.VISIBLE); Resources r = getResources(); int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150.0f, r.getDisplayMetrics()); questionVideo.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, height)); } } 编辑:我已经发现了logcat一些有趣的输出,当我的video旋转似乎是罪魁祸首 – […]
我从后台线程(我使用AsyncTask )从互联网上下载一些数据,并下载时显示进度对话框。 方向更改,活动重新启动,然后我的AsyncTask完成 – 我想closuresprogess对话框,并开始一个新的活动。 但是调用dismissDialog有时会抛出一个exception(可能是因为Activity已经被销毁,新的Activity还没有被启动)。 什么是处理这种问题的最好方法(即使用户改变方向,从后台线程更新UI)? Google有人提供了一些“官方解决scheme”吗?