Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 解決:Android4.3鎖屏界面Emergency calls only - China Unicom與EMERGENCY CALL語義重復

解決:Android4.3鎖屏界面Emergency calls only - China Unicom與EMERGENCY CALL語義重復

編輯:關於Android編程

\

從圖片中我們可以看到,這裡在語義上有一定的重復,當然這是谷歌的原始設計。這個問題在博客上進行共享從表面上來看著實沒有什麼太大的意義,不過由於Android4.3在鎖屏功能上比起老版本做了很大的改動,而且通過常規方法(Strings.xml中字符串)對該問題的定位會有很大的難度,拿這個界面來說,EMERGENCY CALL並不是Strings中值,而是 Emergency call,只是在顯示的時候進行了大小寫的轉換。而且例如字符”-“在String.xml中是unicode編碼表示的。例如: " \u2014 "。接下來我們對當前鎖屏界面相關代碼的定位進行一個簡單的了解:

在Android4.3當中當前的鎖屏界面不是一個Activity而是一個View,該View位於/frameworks/base/policy/src/com/android/internal/policy/impl/keyguard目錄下的KeyguardPatternView.java,其所對應的布局文件為keyguard_pattern_view.xml.





xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyguard_pattern_view"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_maxWidth="@dimen/keyguard_security_width"
android:layout_maxHeight="@dimen/keyguard_security_height"
android:gravity="center_horizontal"
android:contentDescription="@string/keyguard_accessibility_pattern_unlock">

<frameLayout android:layout_height="match_parent">

android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_gravity="center">

android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

<frameLayout android:background="@*android:drawable/kg_bouncer_bg_white"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
android:id="@+id/lockPatternView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginEnd="8dip"
android:layout_marginBottom="4dip"
android:layout_marginStart="8dip"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:contentDescription="@string/keyguard_accessibility_pattern_area" />
</frameLayout>

android:id="@+id/keyguard_selector_fade_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="bottom|center_horizontal"
android:gravity="center_horizontal" />

</frameLayout>

而keyguard_eca即使我們需要修改的鎖屏界面下的緊急撥號按鈕所對應的布局Alias.xml中的keyguard_emergency_carrier_area.xml布局。

Alias.xml:



@android:layout/keyguard_emergency_carrier_area

keyguard_emergency_carrier_area.xml




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"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:clickable="true">


android:inflatedId="@+id/msim_keyguard_carrier_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout="@layout/msim_keyguard_carrier_area" />


android:id="@+id/carrier_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/kg_status_line_font_size"
android:textColor="?android:attr/textColorSecondary"/>

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-10dip"

android:orientation="horizontal"
android:gravity="center"
android:weightSum="2">

android:id="@+id/emergency_call_button"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@*android:drawable/lockscreen_emergency_button"
android:text="@string/kg_emergency_call_label"

android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/kg_status_line_font_size"
android:textColor="?android:attr/textColorSecondary"
android:drawablePadding="8dip" />

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved