安卓开发如何控制屏幕
A. 如何使安卓控件大小随屏幕改变而改变
你说的那样是不可能的,但是有一种方法就是通过修改build.prop文件达到缩小或者放大所有控件的效果,步骤如下:
首先需要ROOT手机,可以用ROOT精灵或者ROOT大师之类的ROOT,如果手机已经ROOT请跳过这步。
下载一个RE文件管理器,安装到手机上,打开他,这时候会出现是否授权,点击授权即可。
之后打开System文件夹,你就会发现一个build.prop文件,长按他之后选择以编辑方式打开。
打开后找到ro.sf.lcd_density=XXX(XXX代表数字,不同品牌不一样)这一行,如果没有就添加上这一行。
之后把数字修改一下,比如你安卓界面嫌大这个后面的数字是ro.sf.lcd_density=240,你可以修改小一点,比如ro.sf.lcd_density=200,但注意一下修改后需要重启设备才会生效,一次不宜调多了,调多了小心不是太大就太小了。
B. 安卓系统开发过程中怎样实现屏幕根据手势缩放
硬件原理:当手指接触到屏幕时会形成一个耦合电容(物理还是模电学的耦合电容,忘得差不多了)。从而产生一个人体感应电流,这个电流分别从触摸屏的四角上流出,四角上的电流与触摸点到四角的距离成正比,通过这四个电流的大小可以确定触摸点的位置。
软件原理:如一楼所说可以在OnToucListener的onTouch(View view,MontionEvent event)方法中获取到event对象,然后使用event.getAction()方法,根据返回值来判断该事件的行为是ACTION_DOWN,ACTION_UP或ACTION_MOVE等。除此外该方法的返回值经过处理后可以判断为几点触控等。参考下这篇日志http://www.apkbus.com/blog-107285-40291.html。
不懂的话,请追问。希望对你有帮助。
C. 如何控制android手机亮屏
一、概述
我们的Android应用程序很多需要和亮屏和熄屏打交道,比如闹钟的时候,需要保持亮屏,之后又需要熄屏。那么今天,我们来分析下这方面的功能。
二. 系统服务 PowerManager.java
顾名思义,PowerManager.java就是管理我们电源方面的功能的,当然也包括我们屏幕的亮和熄灭。没错,我们的应用程序就是通过这个系统服务来实现亮屏和熄屏的功能的。
1. 应用程序获取PowerManager服务, 我们可以这样书写:
复制代码代码如下:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
因为PowerManager是系统服务,所以它的生命周期不是应用程序所能控制的;应用程序只能通过系统,向系统请求获取PowerManager服务,然后系统把这个服务的应用给我们。
2. goToSleep()方法, 这个方法可以强制我们的屏幕熄屏。我们可以这样调用:
在上面拿到pm对象之后,这样调用
pm.goToSleep(SystemClock.uptimeMillis());
3. setBacklightBrightness()方法,这个方法可以设置背光的亮度,从0-255
三. 定时熄灭屏幕
那么这里,还可以介绍一个控制屏幕的方法就是PowerManager.WakeLock
顾名思义,WakeLock这个东西就是亮屏控制,这里说的亮屏,它定义了几种类型的亮屏。如下:
类型 cpu 屏幕 键盘
PARTIAL_WAKE_LOCK on off off
SCREEN_DIM_WAKE_LOCK on dim off
SCREEN_BRIGHT_WAKE_LOCK on Bright off
FULL_WAKE_LOCK on Bright Bright
由于它定义了这么多类型,每种类型可以指定相对应的部件工作和不工作。那么我们就可以利用这些类型,从最细粒度来控制我们的屏幕,控制我们的电源,从而让我们的电源工作时间尽可能的延长(大家都知道,智能手机的电池问题是一个硬伤, 每天一充电,有木有? 别人说用安卓手机的男人都是顾家好男人,因为他每天晚上都要回家充电。。^^).
好的,好的,闲话不扯,继续。。。
怎么使用这个WakeLock呢?我们可以这样写:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
//做我们的工作,在这个阶段,我们的屏幕会持续点亮
//释放锁,屏幕熄灭。
wl.release();
那么这里我们也可以这样使用,就是多少时间后熄灭屏幕
首先点亮屏幕
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
然后
mTimeHandler.postDelayed(new Runnable(){
public void run(){
wakeLock.release();
}
}, 10*1000);
嗯,延迟10s后熄灭屏幕。。。。
那么,这里要注意的是acquire()和release()要成对调用哦!也就是说,你申请了亮屏,过段时间,你要是释放它。
D. Android开发中如何固定屏幕显示
在Androidmanifest文件里面设置
android:screenOrientation="landscape"是限制此页面横屏显示,
android:screenOrientation="portrait"是限制此页面数竖屏显示。
E. Android 怎么用代码控制自动点击屏幕某位置
InputManager injectInputEvent
当然要有权限
可以参考monkey的代码
F. android 开发 ,控制整个屏幕的点击功能屏幕失去焦点功能问题: 求思路啊~~
button.setEnabled(false),单独的控件可以这样设置变成灰色和不可点击状态,你可以用ImageButton放图标,通过它的监听事件去修改其他控件的setEnabled值。
G. Android一般开发的时候的屏幕适配是怎么做的
Android中一个layout想适配各种屏幕尺寸那么需要按以下规则去写layout:
1. 尽量使用wrap_content、match_parent、weight 来规定layout的大小。
2. 要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。
3. 使用 “wrap_content”,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 “match_parent”(在低于 API 级别 8 的级别中称为“fill_parent”)则会展开组件以匹配其父视图的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用空间。此方法可让布局正确适应各种屏幕尺寸和屏幕方向。
5. 如果某些地方必须要规定控件的大小,那么要使用dp 或者 dip单位。
6. 字段必须使用 sp单位。
7. 将不同的图片放到不同的drawable目录下,分辨率的匹配规则如下:
drawable-mdpi 320 * 480
drawable-hdpi 480*800
drawable-xhdpi 720 * 1280
drawable-xxhdpi 1080 * 1920
drawable-xxxhdpi 1080+
H. 安卓手机怎么控制对方屏幕
先声明下,如果“对方”是苹果手机,是完全没有办法控制的,“对方”是安卓手机或者电脑,就可以控制。
方法呢,是用专门的远程控制软件。
应用市场里搜索下向日葵远程控制,给用于控制的设备安装主控端,给被控制的设备安装客户端。官网注册个号(http://sunlogin.oray.com/),然后两边的设备都登录这个号,经过几步简单的匹配操作就可以进行远控了。
要注意的是被控制的设备是手机的话是收费的功能(被控制的是电脑就是免费功能),不过APP里有试用渠道,点3下广告试用一个付费功能一天。付钱的话最便宜的方式大概5块一个月,题主自己决定吧~
I. android开发中如何锁定当前屏幕触摸
手机触摸唤醒是需要手机本身硬件支持的,硬件不支持是无法完全实现此功能的 手机的显示屏和触摸屏实际上是两个单独工作的组件,只不过触摸屏是接近透明的,贴在显示屏上面用户看不出来。 触摸屏识别手势信号,传输给处理器,显示屏只是负责显示相应的图像。 传统的手机关闭显示屏时,触摸屏也是关闭的,两者都不工作。 有唤醒功能的手机在关闭显示屏,但是触摸屏还在是通电的,在黑屏的状态下用户可以随滑动输入,当你划出特定的手势时,就相当于给出了一个开机键的信号,处理器识别以后,屏幕开启,实现双击唤醒。
J. android开发中怎么指定程序屏幕方向
在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性。 参数说明: landscape = 横向 portrait = 纵向 避免在转屏时重启Activity android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了! 要避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上 android:configChanges=”keyboardHiddenorientation”属性)。 在需要控制屏幕显示方向的Activity中重写 onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。