1. 由于在frameworks下的Systemui工程下,所以不需要所谓的反射调用(不懂)。
2. ui界面直接在工程下的status_bar_expanded.xml文件下修改ExpandedView组件添加,添加了10个按钮以实现10个开关功能。
添加的部分代码:
<HorizontalScrollView
android:id="@+id/Hscroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/main"
android:layout_width="wrap_content"
android:layout_height="86.0dip"
android:background="@drawable/appwidget_bg_holo"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/btn_wifi"
android:layout_width="63.0dip"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@drawable/appwidget_button_left"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:paddingTop="12.0dip" >
<ImageView
android:id="@+id/img_wifi"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="11.0"
android:scaleType="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="3.0" />
<TextView
android:id="@+id/status_bar_expanded_text_wifi"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="8.0"
android:gravity="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="2.0"
android:text="@string/status_bar_expanded_text_wifi"
android:textColor="@color/white"
android:textSize="12.0sp" />
<ImageView
android:id="@+id/ind_wifi"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="1.0"
android:scaleType="fitXY" />
</LinearLayout>
<ImageView
android:layout_width="1.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_settings_divider_holo" />
<LinearLayout
android:id="@+id/btn_bluetooth"
android:layout_width="63.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_button_center"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:paddingTop="12.0dip" >
<ImageView
android:id="@+id/img_bluetooth"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="11.0"
android:scaleType="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="3.0" />
<TextView
android:id="@+id/status_bar_expanded_text_bluetooth"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="8.0"
android:gravity="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="2.0"
android:text="@string/status_bar_expanded_text_bluetooth"
android:textColor="@color/white"
android:textSize="12.0sp" />
<ImageView
android:id="@+id/ind_bluetooth"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="1.0"
android:scaleType="fitXY" />
</LinearLayout>
<ImageView
android:layout_width="1.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_settings_divider_holo" />
<LinearLayout
android:id="@+id/btn_gps"
android:layout_width="63.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_button_center"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:paddingTop="12.0dip" >
<ImageView
android:id="@+id/img_gps"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="11.0"
android:scaleType="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="3.0" />
<TextView
android:id="@+id/status_bar_expanded_text_gps"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="8.0"
android:gravity="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="2.0"
android:text="@string/status_bar_expanded_text_gps"
android:textColor="@color/white"
android:textSize="12.0sp" />
<ImageView
android:id="@+id/ind_gps"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="1.0"
android:scaleType="fitXY" />
</LinearLayout>
<ImageView
android:layout_width="1.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_settings_divider_holo" />
<LinearLayout
android:id="@+id/btn_sync"
android:layout_width="63.0dip"
android:layout_height="fill_parent"
android:background="@drawable/appwidget_button_center"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
android:paddingTop="12.0dip" >
<ImageView
android:id="@+id/img_sync"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="11.0"
android:scaleType="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="3.0" />
<TextView
android:id="@+id/status_bar_expanded_text_sync"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="8.0"
android:gravity="center"
android:shadowColor="#ff000000"
android:shadowDx="1.0"
android:s