安卓7.1默认显示大小

设置–显示–显示大小调节
packages/apps/Settings/src/com/android/settings/display/ScreenZoomSettings.java +48

*/
public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment implements Indexable {

private int mDefaultDensity;
private int[] mValues;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mActivityLayoutResId = R.layout.screen_zoom_activity;

    // This should be replaced once the final preview sample screen is in place.
    mPreviewSampleResIds = new int[]{R.layout.screen_zoom_preview_1,
            R.layout.screen_zoom_preview_2,
            R.layout.screen_zoom_preview_settings};

    final DisplayDensityUtils density = new DisplayDensityUtils(getContext());

    final int initialIndex = density.getCurrentIndex();  这里打印实际的值,把该值写进framework默认
    if (initialIndex < 0) {
        // Failed to obtain default density, which means we failed to
        // connect to the window manager service. Just use the current
        // density and don't let the user change anything.
        final int densityDpi = getResources().getDisplayMetrics().densityDpi;
        mValues = new int[] { densityDpi };

frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java +240
public static void setForcedDisplayDensity(final int displayId, final int density) {
final int userId = UserHandle.myUserId();
AsyncTask.execute(() -> {
try {
final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
wm.setForcedDisplayDensityForUser(displayId, density, userId);
} catch (RemoteException exc) {
Log.w(LOG_TAG, “Unable to save forced display density setting”);
}
});
}
}
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java +9870
@Override
public void setForcedDisplayDensityForUser(int displayId, int density, int userId) {
if (mContext.checkCallingOrSelfPermission(
android.Manifest.permission.WRITE_SECURE_SETTINGS) !=
PackageManager.PERMISSION_GRANTED) {
throw new SecurityException("Must hold permission " +
android.Manifest.permission.WRITE_SECURE_SETTINGS);
}
if (displayId != Display.DEFAULT_DISPLAY) {
throw new IllegalArgumentException(“Can only set the default display”);
}

    final int targetUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),
            Binder.getCallingUid(), userId, false, true, "setForcedDisplayDensityForUser",
            null);
    final long ident = Binder.clearCallingIdentity();
    try {
        synchronized(mWindowMap) {
            final DisplayContent displayContent = getDisplayContentLocked(displayId);
            if (displayContent != null && mCurrentUserId == targetUserId) {
                setForcedDisplayDensityLocked(displayContent, density);
            }
            Settings.Secure.putStringForUser(mContext.getContentResolver(),
                    Settings.Secure.DISPLAY_DENSITY_FORCED,
                    Integer.toString(density), targetUserId);
        }
    } finally {
        Binder.restoreCallingIdentity(ident);
    }
}
Index: frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
===================================================================
--- frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java    (revision 311)
+++ frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java    (working copy)
@@ -7433,6 +7433,7 @@
                 + " from " + mRotation + (mAltOrientation ? " (alt)" : "")
                 + ", lastOrientation=" + mLastOrientation);
         }
+        rotation = Surface.ROTATION_0;
         mRotation = rotation;
         mAltOrientation = altOrientation;
@@ -9935,16 +9936,17 @@
     private int getForcedDisplayDensityForUserLocked(int userId) {
         String densityStr = Settings.Secure.getStringForUser(mContext.getContentResolver(),
                 Settings.Secure.DISPLAY_DENSITY_FORCED, userId);
+       Log.i("fan","get DISPLAY_DENSITY_FORCED="+densityStr);
         if (densityStr == null || densityStr.length() == 0) {
             densityStr = SystemProperties.get(DENSITY_OVERRIDE, null);
         }
         if (densityStr != null && densityStr.length() > 0) {
             try {
-                return Integer.parseInt(densityStr);
+    return 212;//Integer.parseInt(densityStr);        默认
             } catch (NumberFormatException ex) {
             }
         }
-        return 0;
+        return 212; 默认
     }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Android 7.1版本默认搭载了谷歌拼音输入法。谷歌拼音输入法是一款由谷歌公司开发的输入法应用程序,常用于Android系统设备上。它支持中文拼音输入、手写输入和语音输入等多种输入方式。 谷歌拼音输入法具有准确的词库和智能联想功能,可以根据用户的输入习惯和语言习惯智能预测下一个单词。通过学习用户的输入习惯,它可以自动纠正并补全拼音,提高输入速度和准确度。此外,它还可以提供实时拼音显示和简体繁体转换等功能。 除了拼音输入,谷歌拼音输入法还支持手写输入。用户可以在屏幕上用手指或者带有触控笔的设备上书写汉字,输入法会自动识别手写的字形并转化为文字。这种输入方式对于不熟悉拼音输入或者希望输入特定汉字时非常有用。 另外,谷歌拼音输入法还支持语音输入功能。用户可以通过按住输入法上的语音输入按钮,使用语音输入来输入文字。输入法会将语音转化为文字并显示在屏幕上。 总体来说,Android 7.1版本的默认谷歌拼音输入法是一款功能齐全、准确智能的输入法应用程序,提供了多种输入方式供用户选择,可以满足用户日常手机输入的需求。 ### 回答2: Android 7.1默认搭载谷歌拼音输入法,这是一款由谷歌公司开发的输入法应用。谷歌拼音输入法提供了快速、准确和智能的拼音输入体验,方便用户在Android设备上输入中文。它支持标准的汉字拼音输入模式,用户可以根据拼音首字母进行选择并输入相应的汉字。 谷歌拼音输入法还具有强大的词库功能,可以根据用户的输入习惯和个性化记忆,快速提供准确的推荐词汇选项,减少输入错误的可能性。此外,该输入法还支持快速的手写输入模式,用户可以直接在屏幕上书写汉字,输入法会自动将手写文字转化为相应的文字。 在Android 7.1系统中,谷歌拼音输入法还内置了智能语音输入功能,用户可以通过语音输入的方式快速输入文字。这让用户在使用Android设备时,不再需要长时间地敲击键盘,只需要简单地说出要输入的内容,输入法会自动将语音转化为文字。 总而言之,谷歌拼音输入法是一款功能强大、易用且智能的输入法应用,为Android 7.1用户提供了便捷的中文输入体验,大大提高了输入速度和准确性,是一款令人满意的输入工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术求索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值