我知道我可以通过使用来获得主屏幕的大小
System.Windows.SystemParameters.PrimaryScreenWidth;
System.Windows.SystemParameters.PrimaryScreenHeight;
Run Code Online (Sandbox Code Playgroud)
但是如何获得当前屏幕的大小?(多屏用户并不总是使用主屏幕,并非所有屏幕都使用相同的分辨率,对吧?)
能够从XAML访问大小会很好,但是从代码(C#)这样做就足够了.
如何找出整个桌面的大小?不是 "工作区"而不是 "屏幕分辨率",两者都只涉及一个屏幕.我想找出每个显示器只显示一部分的虚拟桌面的总宽度和高度.
我正在深入iOS开发,正在构建自己的闹钟应用程序,以熟悉平台和SDK.我注意到应用程序商店中的一些闹钟应用程序可以防止屏幕变暗和/或在应用程序运行时关闭.这是如何实现的?
只是一个简单的问题:
如何清除外壳中的屏幕?我见过这样的方式:
import os
os.system('cls')
Run Code Online (Sandbox Code Playgroud)
这只是打开窗口cmd,清除屏幕并关闭但我希望清除shell窗口
(PS:我不知道这有帮助,但我使用的是3.3.2版本的Python)
谢谢:)
我正在为计算机科学的最终论文开发一个应用程序,我需要收集并记录加速度计数据.我需要一整天才能获得它,因此存在严重的电池限制(例如,我无法启动屏幕).此外,这不是一个以市场为目标的应用程序,因此如果需要,做一些严重的黑客攻击,甚至低级C/C++编码是完全可以接受的.
众所周知,在许多设备上,加速计事件的监听器在屏幕关闭时停止生成事件(关于此问题的一些链接:http://code.google.com/p/android/issues/detail?id = 3708,加速度计当Droid/Nexus One屏幕关闭时,即使使用WakeLock,也会停止传送样本.我已经彻底搜索了一些替代方案,其中一些包括对我的设备不起作用的解决方法(LG P990,股票ROM).
所以会发生这样的事情:当你在服务中为android加速计传感器注册事件监听器时,它可以正常运行,直到屏幕关闭.我已经尝试在IntentService上的服务上注册eventListener,试图获取WakeLocks.关于唤醒锁,我可以验证服务是否仍在运行,观察LOGcat输出,但似乎加速度计进入睡眠模式.某些链接中提供的解决方法之一是使用IntentService的线程定期取消注册和重新注册事件侦听器,如下面的代码片段所示
synchronized private static PowerManager.WakeLock getLock(Context context) {
if (lockStatic==null) {
PowerManager mgr=(PowerManager)context.getSystemService(Context.POWER_SERVICE);
lockStatic = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,NAME);
lockStatic.setReferenceCounted(true);
}
return(lockStatic);
}
@Override
protected void onHandleIntent(Intent intent) {
sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
sensorManager.unregisterListener(this);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
synchronized (this) {
boolean run = true;
while (run){
try {
wait(1000);
getLock(AccelerometerService.this).acquire();
sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
sensorManager.unregisterListener(this);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
Log.d("Accelerometer service", "tick!");
} catch (Exception e) {
run = false;
Log.d("Accelerometer service", "interrupted; cause: " …Run Code Online (Sandbox Code Playgroud) 在这两种方法的上下文中,屏幕和视图有什么区别?
我有一个按钮,我想得到它的中心的x坐标.
我想这就足够了:
public int getButtonXPosition() {
return (button.getLeft()+button.getRight())/2;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用它会有什么不同
getLocationOnScreen()还是getLocationInWindow()?
(当然,添加按钮宽度的一半)
我真的很困惑.从developer.android.com上的文档来看,为了保持我的图像在所有当前Android设备上正确缩放(宽高比),我需要以下所有这些布局.这真的是每个人都在做什么?我错过了什么,或者我应该以不同的方式解决这个问题?
Run Code Online (Sandbox Code Playgroud)Low density Small screens QVGA 240x320 ------------------------------------------------ layout-small-ldpi layout-small-land-ldpi Low density Normal screens WVGA400 240x400 (x432) ------------------------------------------------ layout-ldpi layout-land-ldpi Medium density Normal screens HVGA 320x480 ------------------------------------------------ layout-mdpi layout-land-mdpi Medium density Large screens HVGA 320x480 ------------------------------------------------ layout-large-mdpi layout-large-land-mdpi High density Normal screens WVGA800 480x800 (x854) ------------------------------------------------ layout-hdpi layout-land-hdpi Xoom (medium density large but 1280x800 res) ------------------------------------------------ layout-xlarge layout-xlarge-land
我正在创建一个Android应用程序,我在画布上绘制视图.当设备的方向改变时,活动将重新开始.我不想要它.
当方向发生变化时,如何避免重新启动活动?
我只是想知道是否可以在应用程序清单中注册检测屏幕ON/OFF的广播接收器.我不喜欢可编程方法的原因是它需要运行应用程序以便检测这样的事情,同时:"当Intent是Intent时,在清单中注册的广播接收器的应用程序不必运行广播接收器执行"(来源:专业Android 2应用程序开发书)
我的应用程序实际上是一个锁屏应用程序,通过使用可编程方式需要一直运行:S
有办法解决吗?
我在清单中尝试以下内容:
<receiver android:name=".MyBroadCastReciever">
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF"/>
<action android:name="android.intent.action.SCREEN_ON"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
和简单的MyBroadCastReciever类:
public class MyBroadCastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
Log.i("Check","Screen went OFF");
Toast.makeText(context, "screen OFF",Toast.LENGTH_LONG).show();
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Log.i("Check","Screen went ON");
Toast.makeText(context, "screen ON",Toast.LENGTH_LONG).show();
}
}
}
Run Code Online (Sandbox Code Playgroud)