Android实现动态切换横竖屏,保存横竖屏数据(用Preference存储)
2012-09-05 10:52
791 查看
package com.test; import android.app.Activity; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.view.View; import android.view.View.OnLongClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.TextView; import android.widget.Toast; /** * class name:TestAndroid_BasicActivity<BR> * class description:动态设置横竖屏哦<BR> * PS:既然要实现横竖屏的变更,所以设置的记录就必须持久化存储 你可以用数据库,这里用的是简单一点的Preference <BR> * * @version 1.00 2011/09/21 * @author CODYY)peijiangping */ public class TestAndroid_BasicActivity extends Activity implements OnLongClickListener { // 设置默认为横屏SCREEN_ORIENTATION_LANDSCAPE,竖屏SCREEN_ORIENTATION_PORTRAIT private int ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; private TextView textview; private MyPreference mpf; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mpf = new MyPreference(this, "love"); try { ORIENTATION = mpf.read("model"); } catch (Exception e) { System.out.println("first"); } requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏 // 设置横竖屏 setRequestedOrientation(ORIENTATION); setContentView(R.layout.main); init(); } private void init() { textview = (TextView) this.findViewById(R.id.textview); textview.setText("Loveing"); textview.setOnLongClickListener(this);// 实现长按事件监听 } @Override public boolean onLongClick(View v) { // 如果当前为横屏 if (ORIENTATION == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { // 将竖屏保存进MyPreference mpf.write("model", ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 显示一个toast提示 Toast toast = Toast.makeText(this, "横屏已经切换成竖屏,请重新进入应用查看", Toast.LENGTH_SHORT); toast.show(); // 如果当前为竖屏 } else if (ORIENTATION == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { // 将横屏保存进MyPreference mpf.write("model", ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // 显示一个toast提示 Toast toast = Toast.makeText(this, "竖屏已经切换成横屏,请重新进入应用查看", Toast.LENGTH_SHORT); toast.show(); } return false; } }
package com.test; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; public class MyPreference { private SharedPreferences preference; private String file_name; private int value_int; //设置默认为横屏 private int defultint = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;; public MyPreference(Context context, String str) { file_name = str; value_int = 0; preference = context.getSharedPreferences(file_name, 0); } public int read(String name) { value_int = preference.getInt(name, defultint); return value_int; } public void write(String name, int value) { SharedPreferences.Editor editor = preference.edit(); editor.putInt(name, value); editor.commit(); } }
相关文章推荐
- Android实现动态切换横竖屏,保存横竖屏数据(用Preference存储)
- Android fragment 横竖屏的动态布局实现(不需要保存数据)动态的给控件设置权重
- Android横竖屏切换数据保存的方法以及onSaveInstanceState() 的实现
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
- android 横竖屏切换与数据保存
- Android开发日志之横竖屏切换数据保存问题
- android: 横竖屏切换总结-布局改变和数据保存
- Android 横竖屏切换时,保存数据
- android: 横竖屏切换总结-布局改变和数据保存
- android 的数据状态保存,横竖屏切换时的操作
- android 横竖屏切换与数据保存
- (转)【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
- sharedPreference存储对象-数据库存储对象;android 将map保存到sqlite数据库中,从表数据中取回map
- android: 横竖屏切换总结-布局改变和数据保存
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
- android横竖屏切换与数据保存
- android-横竖屏切换总结-布局改变和数据保存
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
- android: 横竖屏切换总结-布局改变和数据保存
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!