- 浏览: 1223169 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
下面是一个例子程序:
1.首先通过以下语句设置Activity为无标题和全屏模式:
2.下面给出xml文件配置,这里我们在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管模拟器自动寻找
main.xml文件如下:
这个xml文件需要在上述所说的2个文件夹下都需要放置.
3.获取资源id的view:
4.返回当前显示Activity的显示状态(横屏还是竖屏)
5.设置按钮点击监听器
6.改变屏幕显示的函数
7.获取屏幕显示状态
8.通过一个Toast来显示屏幕状态
9.colors.xml文件内容:
10.strings.xml文件内容如下:
11.AndroidManifest.xml文件内容:
9.程序整个ActivityMain.java文件如下:
1.首先通过以下语句设置Activity为无标题和全屏模式:
// 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main);
2.下面给出xml文件配置,这里我们在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管模拟器自动寻找
main.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/white" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/myTextView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@drawable/blue" android:text="the portrait" /> <Button android:id="@+id/myButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_button1" /> </LinearLayout>
这个xml文件需要在上述所说的2个文件夹下都需要放置.
3.获取资源id的view:
mButton01 = (Button) findViewById(R.id.myButton1); mTextView01 = (TextView) findViewById(R.id.myTextView1);
4.返回当前显示Activity的显示状态(横屏还是竖屏)
// Return the current requested orientation of the activity if (getRequestedOrientation() == -1){ mTextView01.setText(getResources().getText(R.string.str_err_1001)); }
5.设置按钮点击监听器
/* 当点击按钮旋转屏幕画面 */ mButton01.setOnClickListener(new Button.OnClickListener() { // @Override public void onClick(View arg0) { /* 方法一:重写getRequestedOrientation */ /* 若无法取得screenOrientation属性 */ if (getRequestedOrientation() == -1) { /* 提示无法进行画面旋转功能,因无法判别Orientation */ mTextView01.setText(getResources().getText(R.string.str_err_1001)); } else { if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { /* 若当下为横排,则更改为竖排呈现 */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } else if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { /* 若当下为竖排,则更改为横排呈现 */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } } }); }
6.改变屏幕显示的函数
@Override public void setRequestedOrientation(int requestedOrientation) { // TODO Auto-generated method stub /* 判断要更改的方向,以Toast提示 */ switch (requestedOrientation) { /* 更改为LANDSCAPE */ case (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE): mMakeTextToast(getResources().getText(R.string.str_msg1).toString(), false); break; /* 更改为PORTRAIT */ case (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT): mMakeTextToast(getResources().getText(R.string.str_msg2).toString(), false); break; } super.setRequestedOrientation(requestedOrientation); }
7.获取屏幕显示状态
@Override public int getRequestedOrientation() { // TODO Auto-generated method stub /* 此重写getRequestedOrientation方法,可取得当下屏幕的方向 */ return super.getRequestedOrientation(); }
8.通过一个Toast来显示屏幕状态
public void mMakeTextToast(String str, boolean isLong) { if (isLong == true) { Toast.makeText(EX05_22.this, str, Toast.LENGTH_LONG).show(); } else { Toast.makeText(EX05_22.this, str, Toast.LENGTH_SHORT).show(); } }
9.colors.xml文件内容:
<?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="darkgray">#808080</drawable> <drawable name="white">#FFFFFF</drawable> <drawable name="blue">#0000FF</drawable> </resources>
10.strings.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, ScreenChangeEx</string> <string name="app_name"> ScreenChangeEx </string> <string name="str_button1">按我旋转屏幕</string> <string name="str_err_1001"> 请在AndroidManifest.xml\n添加android:screenOrientation属性 </string> <string name="str_msg1">旋转为LANDSCAPE</string> <string name="str_msg2">旋转为PORTRAIT</string> </resources>
11.AndroidManifest.xml文件内容:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.com" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ActivityMain" android:label="@string/app_name" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
9.程序整个ActivityMain.java文件如下:
package cn.com; import android.app.Activity; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class ActivityMain extends Activity { private TextView mTextView01; private Button mButton01; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); mButton01 = (Button) findViewById(R.id.myButton1); mTextView01 = (TextView) findViewById(R.id.myTextView1); // Return the current requested orientation of the activity if (getRequestedOrientation() == -1) { mTextView01.setText(getResources().getText(R.string.str_err_1001)); } /* 当点击按钮旋转屏幕画面 */ mButton01.setOnClickListener(new Button.OnClickListener() { // @Override public void onClick(View arg0) { /* 方法一:重写getRequestedOrientation */ /* 若无法取得screenOrientation属性 */ if (getRequestedOrientation() == -1) { /* 提示无法进行画面旋转功能,因无法判别Orientation */ mTextView01.setText(getResources().getText(R.string.str_err_1001)); } else { if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { /* 若当下为横排,则更改为竖排呈现 */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } else if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { /* 若当下为竖排,则更改为横排呈现 */ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } } }); } @Override public void setRequestedOrientation(int requestedOrientation) { // TODO Auto-generated method stub /* 判断要更改的方向,以Toast提示 */ switch (requestedOrientation) { /* 更改为LANDSCAPE */ case (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE): mMakeTextToast(getResources().getText(R.string.str_msg1).toString(), false); break; /* 更改为PORTRAIT */ case (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT): mMakeTextToast(getResources().getText(R.string.str_msg2).toString(), false); break; } super.setRequestedOrientation(requestedOrientation); } @Override public int getRequestedOrientation() { // TODO Auto-generated method stub /* 此重写getRequestedOrientation方法,可取得当下屏幕的方向 */ return super.getRequestedOrientation(); } public void mMakeTextToast(String str, boolean isLong) { if (isLong == true) { Toast.makeText(EX05_22.this, str, Toast.LENGTH_LONG).show(); } else { Toast.makeText(EX05_22.this, str, Toast.LENGTH_SHORT).show(); } } }
发表评论
-
输入法弹出后,不影响activity原有布局(android:windowSoftInputMode)
2012-07-08 21:03 4376在AndroidManifest.xml文件中的activit ... -
屏幕截图
2012-04-19 18:24 1321直接贴代码,不说话:) ScreenShot.java文件: ... -
Android Bitmap 圆角 倒影
2012-03-13 23:17 1550// 获得带倒影的图片方法 public Bitmap ... -
View进行透明度设置
2012-03-08 23:12 1823对特定View进行透明度设置的代码片段: public v ... -
动态设置GridView宽,高
2012-03-07 14:24 2363这里假设实例Id为mGrid: RelativeLayo ... -
ActivityGroup使用方法
2012-02-15 17:34 7177这个例子是在http://www.anddev.org上看到的 ... -
Android进度条总结
2011-04-08 10:27 16121.在标题栏显示进度条: requestWindowFea ... -
TextView实现多行本文滚动
2011-04-07 21:49 1736Android中我们为了实现文本的滚动可以在ScrollVie ... -
Android 给应用定制皮肤
2011-04-07 21:29 3186在实现程序功能的同时,如果能让程序界面更加美观,有锦上添花之妙 ... -
自定义无标题Dialog
2011-03-18 13:39 22791.主Activity: public class D ... -
手机分辨率和密度的理解
2011-01-24 10:22 2490QVGA,WQVGA屏density=120 HVGA屏den ... -
Android Bitmap 圆角
2011-01-20 10:16 1749第一种是生成圆角背景: Button mView = (B ... -
如何保证Activity实例个数唯一(Activity启动模式)
2011-01-14 11:35 10703ActA.java文件: public class Act ... -
Dialog自定义方法1
2011-01-13 14:51 1393public class SelfDialog { D ... -
UI方面的一些知识点总结
2010-09-17 16:52 14961.如何获取手机屏幕的分辨率: /* 取得屏幕解析像 ... -
Android中画图总结(2)
2010-09-17 15:41 18991.如何显示一张自定义位图: step 1:先定义一张位图 ... -
Android中画图总结(1)
2010-09-17 15:32 15021.如何获取 res 中的资源 ... -
TextView中style的应用
2010-09-10 14:09 1251<TextView android:layout_w ... -
显示带图片的Toast提示
2010-09-09 14:22 2048ImageView mView01 = new Image ... -
color.xml中各种颜色值整理
2010-09-05 22:07 2426<color name="solid_bl ...
相关推荐
- 在`res`目录下创建`layout-port-800x600`用于竖屏布局。 - 创建`layout-land-800x600`用于横屏布局。 2. **使用屏幕方向属性**: - 对于每个Activity,可以设置其`screenOrientation`属性以指定固定的屏幕方向...
Android 自适应屏幕...最后,在 Android 中,layout 文件夹可以根据不同的屏幕方向和密度来创建不同的文件夹,例如 layout-port-800x600、layout-land-800x600 等,以便在不同的屏幕方向和密度下显示正确的 layout。
1. 自动切换布局:在`res`目录下创建`layout-land`(横屏)和`layout-port`(竖屏)目录,分别放置横屏和竖屏的布局文件。例如,`layout-land/main_activity.xml`是横屏布局,`layout-port/main_activity.xml`是竖屏...
Android支持在res/layout-land(横屏)和res/layout-port(竖屏)目录下放置不同的布局文件,系统会自动根据当前屏幕方向加载相应的布局。 在进行毕业设计时,这份源码可以帮助你了解如何处理屏幕适配,提高应用的...
横竖屏切换时,需要在对应的布局文件(如`layout-land`和`layout-port`)中定义不同Fragment。 5. **处理生命周期**:在横竖屏切换时,Fragment的生命周期会被影响。需要注意在`onPause()`、`onResume()`等方法中...
1. 布局资源:为横竖屏提供不同的布局资源,通常在res/layout目录下创建对应的layout-land和layout-port子目录,分别存放横屏和竖屏的布局文件。 2. 图片资源:类似地,可以为不同方向提供不同尺寸的图片,放在res...
- 对于不同屏幕方向,可以创建不同的布局资源文件,例如,将横屏布局放在`res/layout-land/`目录下,竖屏布局放在`res/layout-port/`。这样,系统会自动选择相应的布局文件。 7. **使用Transition API**: - 自...
Android支持为不同的屏幕方向创建不同的资源文件夹,如`res/layout-land`(横屏)和`res/layout-port`(竖屏)。系统会根据当前屏幕方向自动选择对应的资源。 5. **性能考虑**: 默认的Activity重启方式可能会...
在Android开发中,手机横竖屏的切换是一个常见的需求,涉及到屏幕方向的处理以及相应的布局适配。这个“Android项目 手机横竖屏.rar”压缩包可能包含了一个示例项目,用于展示如何在Android应用中处理屏幕方向的变化...
开发者可以在`res`目录下创建两个子目录:`layout-port`(用于竖屏)和`layout-land`(用于横屏)。这两个目录下的XML布局文件分别对应不同屏幕方向。当设备旋转时,系统会自动选择正确的布局文件来显示。此外,如果...
在res目录下,开发者可以创建layout-land(横屏)和layout-port(竖屏)子目录,分别存放横屏和竖屏的布局文件。系统会根据设备的当前方向自动选择合适的布局。 除了Activity的生命周期和横竖屏切换,这些案例可能...
在Android中,可以创建不同的布局资源文件夹(如`layout-land`用于横屏,`layout-port`用于竖屏),然后在不同方向下加载相应的布局。在iOS中,可以使用Auto Layout或Size Classes来动态调整界面元素的位置和大小,...
此外,还可以使用不同的布局资源文件(如layout-land和layout-port)来为横屏和竖屏分别定制布局。 关于是否需要重新加载数据,这取决于应用的具体需求。如果数据是根据用户交互或特定条件动态加载的,那么屏幕旋转...
在Android平台上开发一款支持横竖屏切换的视频播放器是一项常见的任务,这涉及到对Android多媒体框架的深入理解和屏幕适配策略。"Android视频播放器(支持横竖屏切换)"这个项目的核心目标是创建一个能够根据设备...
- 对于横竖屏切换的处理,开发者可以创建`layout-land`(横屏)和`layout-port`(竖屏)目录,提供特定方向的布局资源。 5. **版本适配**: - Android系统从3.0(API级别11)开始引入了新的设计指南和布局特性,...
为横竖屏提供不同的布局资源,可以在res/layout目录下创建子目录,如res/layout-land(横屏)和res/layout-port(竖屏),然后将对应的布局文件放入相应目录。系统会根据当前屏幕方向自动选择合适的布局。 六、注意...
1. 在`res/layout`目录下创建`layout-land`和`layout-port`子目录,分别存放横屏和竖屏的布局文件。系统会自动根据当前屏幕方向选择对应的布局。 2. 在代码中动态判断屏幕方向并加载相应布局。例如,在Activity的`...
如果是在横竖屏UI设计方面,那么想很好地支持屏幕旋转,则建议在res中建立layout-land和layout-port两个文件夹,把横屏和竖屏的布局文件分别放入对应的layout文件夹中。 了解了这些以后,我们对andro
在`res/layout`目录下,可以创建`layout-land`(横屏)和`layout-port`(竖屏)子目录,分别放置横屏和竖屏的布局文件。系统会自动根据当前屏幕方向选择合适的布局。 4. **动态调整布局**: 如果不想为每种屏幕...
- 在Android项目中,为了处理横竖屏切换,开发者通常会在`res`目录下创建`layout-land`和`layout-port`两个子目录。`layout-land`用于放置横屏布局文件,而`layout-port`用于放置竖屏布局文件。这两个目录下的布局...