Samsungの2.3.xでステータスバーが困る理由

2011年12月27日 by · コメントを残す
カテゴリ: Android, 開発のこと 

なまず速報の @ayunyan さんが大変お困りでしたので確認してみました。

Twitter - @ayunyan- Galaxy S 2.3.3のframework-r

Twitter – @ayunyan- Galaxy S 2.3.3のframework-r

手元にあったのを適当に並べたのが以下の覚書です。

上の方の TextAppearance 云々がスタイルの定義で、下の方の status_bar 云々が実際に表示してるレイアウトの定義です。

サムスン以外はスタイルの定義してるのにレイアウトで

<TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title"(以下略)

と @style を使ってるのに、サムスンは

<TextView android:textSize="16.0dip" android:textStyle="bold" android:textColor="@color/status_bar_event_primary_text"(以下略)

と直接指定しています。

 

仕様かなぁ。コレ…

 

「エラーではない」(キリッ

status_bar_latest_event_content.xmlおぼえがき

2011年12月27日 by · コメント(1)
カテゴリ: Android, 開発のこと 

続きましておぼえがき

/system/framework/framework-res/res/layout/status_bar_latest_event_content.xml

MOTOACTV(ro.build.version.release=2.3.4)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:paddingLeft="5.0dip" android:paddingTop="7.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="horizontal" android:paddingTop="3.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ImageView android:id="@id/icon" android:layout_width="25.0dip" android:layout_height="25.0dip" android:src="@drawable/arrow_down_float" android:scaleType="fitCenter" />
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:ellipsize="marquee" android:id="@id/title" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:ellipsize="marquee" android:id="@id/text" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
        <android.widget.DateTimeView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:id="@id/time" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:singleLine="true" />
    </LinearLayout>
</LinearLayout>

SC-02C(ro.build.version.release=2.3.6)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:paddingLeft="7.3299866dip" android:paddingTop="8.0dip" android:paddingRight="5.3299866dip" android:paddingBottom="6.669983dip" android:layout_width="fill_parent" android:layout_height="fill_parent"  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="25.329987dip">
        <ImageView android:id="@id/icon" android:layout_width="25.329987dip" android:layout_height="fill_parent" android:src="@drawable/arrow_down_float" android:scaleType="fitCenter" />
        <TextView android:textSize="16.0dip" android:textStyle="bold" android:textColor="@color/status_bar_event_primary_text" android:ellipsize="marquee" android:id="@id/title" android:paddingLeft="9.329987dip" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="19.329987dip">
        <TextView android:textSize="14.0dip" android:textColor="@color/status_bar_event_secondary_text" android:ellipsize="marquee" android:id="@id/text" android:paddingLeft="34.669983dip" android:fadingEdge="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
        <android.widget.DateTimeView android:textSize="14.0dip" android:textColor="@color/status_bar_event_secondary_text" android:gravity="right" android:id="@id/time" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
    </LinearLayout>
</LinearLayout>

S51SE(ro.build.version.release=2.3.4)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:paddingLeft="5.0dip" android:paddingTop="7.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="horizontal" android:paddingTop="3.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ImageView android:id="@id/icon" android:layout_width="25.0dip" android:layout_height="25.0dip" android:src="@drawable/arrow_down_float" android:scaleType="fitCenter" />
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:ellipsize="marquee" android:id="@id/title" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:ellipsize="marquee" android:id="@id/text" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
        <android.widget.DateTimeView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:id="@id/time" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:singleLine="true" />
    </LinearLayout>
</LinearLayout>

IS11S(ro.build.version.release=2.3.4)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:paddingLeft="5.0dip" android:paddingTop="7.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="horizontal" android:paddingTop="3.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ImageView android:id="@id/icon" android:layout_width="25.0dip" android:layout_height="25.0dip" android:src="@drawable/arrow_down_float" android:scaleType="fitCenter" />
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:ellipsize="marquee" android:id="@id/title" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:ellipsize="marquee" android:id="@id/text" android:paddingLeft="4.0dip" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
        <android.widget.DateTimeView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:id="@id/time" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:singleLine="true" />
    </LinearLayout>
</LinearLayout>

Galaxy Nexus

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@id/status_bar_latest_event_content" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView android:id="@id/icon" android:background="@drawable/notify_panel_notification_icon_bg_tile" android:layout_width="@dimen/notification_large_icon_width" android:layout_height="@dimen/notification_large_icon_height" android:scaleType="center" />
    <include android:layout_gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" layout="@layout/status_bar_latest_event_content_large_icon" />
</LinearLayout>

/system/framework/framework-res/res/layout/status_bar_latest_event_content_large_icon.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_gravity="center" android:orientation="vertical" android:id="@id/status_bar_latest_event_content_large_icon" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title" android:ellipsize="marquee" android:id="@id/title" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
    <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:ellipsize="marquee" android:id="@id/text2" android:visibility="gone" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="-2.0dip" android:layout_marginBottom="-2.0dip" android:singleLine="true" />
    <LinearLayout android:orientation="horizontal" android:id="@id/line3" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent" android:ellipsize="marquee" android:layout_gravity="center" android:id="@id/text" android:fadingEdge="horizontal" android:layout_width="0.0dip" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Info" android:gravity="center" android:layout_gravity="center" android:id="@id/info" android:paddingLeft="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="0.0" />
        <ImageView android:layout_gravity="center" android:id="@id/icon" android:paddingLeft="8.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_weight="0.0" android:drawableAlpha="180" />
    </LinearLayout>
    <ProgressBar android:id="@id/progress" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>

ということです。

なるほど。サムスンは style 使わずに直接色指定してますね。

TextAppearance.StatusBar.EventContentのおぼえがき

2011年12月27日 by · コメント(2)
カテゴリ: Android, 開発のこと 

おぼえがき

/system/framework/framework-res/res/values/styles.xml

MOTOACTV(ro.build.version.release=2.3.4)

    <style name="TextAppearance.StatusBar.EventContent" parent="@style/TextAppearance.StatusBar">
        <item name="textColor">@color/primary_text_light</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent="@style/TextAppearance.StatusBar.EventContent">
        <item name="textSize">16.0sp</item>
        <item name="textStyle">bold</item>
        <item name="textColor">@color/primary_text_light</item>
    </style>

/system/framework/framework-res/res/color/primary_text_light.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="false" android:color="@color/bright_foreground_light_disabled" />
    <item android:state_enabled="false" android:state_selected="true" android:color="@color/bright_foreground_light_disabled" />
    <item android:state_enabled="false" android:state_pressed="true" android:color="@color/bright_foreground_light_disabled" />
    <item android:state_selected="true" android:color="@color/bright_foreground_light" />
    <item android:state_pressed="true" android:color="@color/bright_foreground_light" />
    <item android:state_enabled="false" android:color="@color/bright_foreground_light_disabled" />
    <item android:state_window_focused="false" android:color="@color/bright_foreground_light" />
    <item android:color="@color/bright_foreground_light" />
</selector>

SC-02C(ro.build.version.release=2.3.6)

    <style name="TextAppearance.StatusBar.EventContent" parent="@style/TextAppearance.StatusBar">
        <item name="textColor">@color/status_bar_event_secondary_text</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent="@style/TextAppearance.StatusBar.EventContent">
        <item name="textSize">16.0sp</item>
        <item name="textStyle">bold</item>
        <item name="textColor">@color/status_bar_event_primary_text</item>
    </style>

/system/framework/framework-res/res/values/colors.xml

    <color name="status_bar_event_primary_text">#ffffffff</color>
    <color name="status_bar_event_secondary_text">#ffb6cad6</color>

S51SE(ro.build.version.release=2.3.4)

    <style name="TextAppearance.StatusBar.EventContent" parent="@style/TextAppearance.StatusBar">
        <item name="textColor">#ff3d3d3d</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent="@style/TextAppearance.StatusBar.EventContent">
        <item name="textSize">16.0sp</item>
        <item name="textStyle">bold</item>
        <item name="textColor">?textColorPrimaryInverse</item>
    </style>

IS11S(ro.build.version.release=2.3.4)

    <style name="TextAppearance.StatusBar.EventContent" parent="@style/TextAppearance.StatusBar">
        <item name="textColor">#ff3d3d3d</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent="@style/TextAppearance.StatusBar.EventContent">
        <item name="textSize">16.0sp</item>
        <item name="textStyle">bold</item>
        <item name="textColor">?textColorPrimaryInverse</item>
    </style>

Galaxy Nexus

    <style name="TextAppearance.StatusBar.EventContent" parent="@style/TextAppearance.StatusBar">
        <item name="textSize">13.0sp</item>
        <item name="textColor">?textColorSecondary</item>
    </style>
    <style name="TextAppearance.StatusBar.EventContent.Title" parent="@style/TextAppearance.StatusBar.EventContent">
        <item name="textSize">16.0sp</item>
        <item name="textStyle">bold</item>
        <item name="textColor">?textColorPrimary</item>
    </style>

メーカーでいろいろですね。さて?