AndroidR修改About phone中的owner为图片
1.1去除owner
因为About Phone中的owner是可以直接通过boolean值进行控制的,先将其去掉
alps_r0/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/config.xml
- <bool name="config_show_device_header_in_device_info">true</bool>
+ <bool name="config_show_device_header_in_device_info">false</bool>
1.2建立一个自定义Perference
settings中的布局是由Perference构成,Perference没有办法直接使用ImageView,所以需要新建一个自定义Perference来增加一个包含image的自定义layout
alps_r0/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/ownerPreference.java
+package com.android.settings;
+import android.content.Context;
+import androidx.preference.Preference;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.RadioButton;
+import android.widget.RelativeLayout;
+public class ownerPreference extends Preference {
+ /**
+ * @param context
+ * @param attrs
+ * @param defStyle
+ */
+ public ownerPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ init();
+ }
+ /**
+ * @param context
+ * @param attrs
+ */
+ public ownerPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+ /**
+ * @param context
+ */
+ public ownerPreference(Context context) {
+ super(context);
+ init();
+ }
+ private void init() {
+ setLayoutResource(R.layout.owner_preference_layout);
+ }
+
+}
1.3 自定义layout
alps_r0/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/layout/owner_preference_layout.xml
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout
+ xmlns:android ="http://schemas.android.com/apk/res/android"
+ android:layout_width ="match_parent"
+ android:layout_height ="wrap_content"
+ android:orientation ="vertical"
+ android:gravity ="center_vertical">
+ <ImageView
+ android:id ="@+android:id/icon"
+ android:layout_width ="match_parent"
+ android:layout_height ="match_parent"
+ android:layout_gravity ="center_vertical"/>
+ </LinearLayout>
1.4 添加到系统About Phone布局中
alps_r0/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/my_device_info.xml
android:order="0"
android:layout="@layout/settings_entity_header"
android:selectable="false"
settings:isPreferenceVisible="false"/>
-
+
+ <com.android.settings.ownerPreference
+ android:order="0"
+ android:icon="@drawable/owner" />
+
<!-- Device name -->
<com.android.settings.widget.ValidatedEditTextPreference
android:key="device_name"
android:order="1"