Android点击事件实例之通过…

来源:互联网 发布:淘宝直通车类目推广 编辑:程序博客网 时间:2024/06/06 01:57
原文地址:Android点击事件实例之通过程序控制屏幕的翻转作者:baohanqing
正常
[转载]Android点击事件实例之通过程序控制屏幕的翻转
翻转

[转载]Android点击事件实例之通过程序控制屏幕的翻转


首先要实现这些
必须修改我们的配置文件AndroidManifest.xml

<?xmlversion="1.0" encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.clickeventdemo"
   android:versionCode="1"
   android:versionName="1.0">

   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="17" />
添加下边的内容,表示允许应用改变当前的配置
<uses-permissionandroid:name="android.permission.CHANGE_CONFIGURATION"/>
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:screenOrientation="portrait"
   下边的表示,当屏幕方向发生变化时候,捕捉变化并调用主程序当中的
   onConfigurationChanged方法
          android:configChanges="orientation"
         android:name="com.example.clickeventdemo.MainActivity"
         android:label="@string/app_name" >
         <intent-filter>
             <actionandroid:name="android.intent.action.MAIN"/>

             <categoryandroid:name="android.intent.category.LAUNCHER"/>
         </intent-filter>
      </activity>
  </application>
</manifest>


我们的xml文件代码

<?xmlversion="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
  tools:context=".MainActivity" 
  android:orientation="vertical">

  <Button 
      android:id="@+id/but1"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="按钮"/>
   
  <ImageView 
      android:id="@+id/img1"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:src="@drawable/ic_launcher"/>

</LinearLayout>

.java文件

public class MainActivityextends Activity {
private Button change =null;
private ImageView img =null;

@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
this.change = (Button)super.findViewById(R.id.but1); // 取得按钮
this.img = (ImageView)super.findViewById(R.id.img1); // 取得图片
this.change.setOnClickListener(newMyOnClickListenerImpl()); // 设置监听操作
}

private classMyOnClickListenerImpl implements OnClickListener { //单击事件

public void onClick(View v){
if(MainActivity.this.getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {//无法进行画面的旋转
MainActivity.this.change.setText("错误:无法改变屏幕方向。");
} else {
if(MainActivity.this.getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { //现在的方向是横屏显示
MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
// 变为竖屏显示
} else if(MainActivity.this.getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { // 如果为竖屏显示
MainActivity.this
.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);// 变为横屏显示
}
}
}
}

@Override
public voidonConfigurationChanged(Configuration newConfig){ 
// 表示的是系统设置修改的时候触发
if (newConfig.orientation ==Configuration.ORIENTATION_LANDSCAPE){ 
// 现在的屏幕方向是横屏
MainActivity.this.change.setText("竖屏");
MainActivity.this.img.setImageResource(R.drawable.ic_launcher);//显示横屏图片
} else if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
// 现在竖屏
MainActivity.this.change.setText("横屏");
MainActivity.this.img.setImageResource(R.drawable.touxiang);//显示竖屏图片
}
super.onConfigurationChanged(newConfig);
}

}
0 0
原创粉丝点击