1

我想知道是否有办法找出什么样的物理键盘(“纵向”,例如 Droid Pro 或“横向”,例如 HTC Mytouch Slide)设备?

我想在激活物理键盘时自动切换活动方向,以便活动中的 EditText 与键盘平行。

我从这里尝试了旋转/方向解决方案,但是在我的带有横向滑动键盘的测试手机上,我不得不反转横向和纵向以使其正常工作,这让我认为在某些设备上它必须是其他方式大约。

比较屏幕宽度和高度,就像那里建议的其他一些答案一样,似乎也很不确定。也许还有其他方法吗?

4

1 回答 1

1

看起来不需要知道键盘类型:为了设置活动的正确方向,将其设置为来自 onConfigurationChanged 处理程序的传感器方向似乎就足够了(当物理键盘打开时又会调用它)或关闭):

@Override
public void onConfigurationChanged(final Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
于 2013-01-22T18:02:54.153 回答