微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 双卡项目如何在状态栏显示或隐藏G,3G以及卡1和卡2的信号标识

双卡项目如何在状态栏显示或隐藏G,3G以及卡1和卡2的信号标识

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
本节包括2个方面:
1.KK版本上(4.4)如何隐藏有SIM卡1,2标记,如何去掉状态栏G、3G图标
2.L版本上(5.0)如何增加有SIM卡1,2标记
一 KK版本上(4.4)
2.1如何隐藏有SIM卡1,2标记
KK上默认是显示1,2卡标识的。
如果隐藏它们,在文件SignalClusterView.java上由mMobileSlotIndicator变量控制
将mMobileSlotIndicator出现的地方屏蔽掉就可以
2.2如何去掉状态栏G、3G图标
去掉方法很简单,就是把这个View隐藏就行了,具体修改如下
SignalClusterView.java
(php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar)
apply():
……
//hide network iconbegin
/* int state = SIMHelper.getSimIndicatorStateGemini(i);//hide network icon
if (!mIsAirplaneMode
&& SIMHelper.isSimInserted(i)
&& PhoneConstants.SIM_INDICATOR_LOCKED != state
&& PhoneConstants.SIM_INDICATOR_SEARCHING != state
&& PhoneConstants.SIM_INDICATOR_INVALID != state
&& PhoneConstants.SIM_INDICATOR_RADIOOFF != state) {
……
} else {*/
mSignalNetworkType.setImageDrawable(null);
mSignalNetworkType.setVisibility(View.GONE);
//}
//hide network iconend
……
二 L版本上(5.0)如何增加有SIM卡1,2标记
L版本5.0默认是没有显示的1.2卡标识的!
如果要增加1,2标识,可按下面步骤添加:
1,Signal_Cluster_View.xml
<!-- M: Support "Default SIM Indicator". }@ -->
<LinearLayout
android:id="@+id/signal_cluster_combo"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
>
<View
android:layout_height="6dp"
android:layout_width="6dp"
android:visibility="invisible"
/>
<!-- M: Support "Service Network Type on Statusbar". @{ -->
<ImageView
android:id="@+id/network_type"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:visibility="gone"
/>
<!-- M: Support "Service Network Type on Statusbar". }@ -->
<FrameLayout
android:id="@+id/mobile_combo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/mobile_signal"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<ImageView
android:id="@+id/mobile_type"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<!-- add :mobile_slot_indicateor". }@ -->
<ImageView
android:id="@+id/mobile_slot_indicator"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
</FrameLayout>
</LinearLayout>
<!-- the 2nd sim card start -->
<View
android:layout_height="1dp"
android:layout_width="1dp"
android:tag="spacer_2"
android:visibility="gone"
android:id="@+id/spacer_2"
/>
<View
android:layout_height="1dp"
android:layout_width="1dp"
android:visibility="invisible"
/>
<LinearLayout
android:id="@+id/signal_cluster_combo_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:tag="signal_cluster_combo_2"
>
<!-- M: Support "Service Network Type on Statusbar". @{ -->
<ImageView
android:id="@+id/network_type_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:visibility="gone"
android:tag="network_type_2"
/>
<!-- M: Support "Service Network Type on Statusbar". }@ -->
<FrameLayout
android:id="@+id/mobile_combo_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tag="mobile_combo_2"
>
<ImageView
android:id="@+id/mobile_signal_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:tag="mobile_signal_2"
/>
<ImageView
android:id="@+id/mobile_type_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:tag="mobile_type_2"
/>
<!-- add :mobile_slot_indicateor". }@ -->
<ImageView
android:id="@+id/mobile_slot_indicator_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
</FrameLayout>
</LinearLayout>
<!-- the 2nd sim card end -->
2.SignalClusterView.java
文件添加
// add
private ImageView[] mMobileSlotIndicator;
//add
int[] slots_indicators=new
int[]{R.drawable.sim1_indicator,R.drawable.sim2_indicator};
// 图片sim1_indicator,sim2_indicator是你制作的sim1,sim2标识
public SignalClusterView(Context context, AttributeSet attrs, int
defStyle) {
super(context, attrs, defStyle);
mSlotCount = SIMHelper.getSlotCount();
........
// add
mMobileSlotIndicator= new ImageView[mSlotCount];
}
onAttachedToWindow()那里
//add
for (int i = SIMHelper.SLOT_INDEX_DEFAULT ; i < mSlotCount; i++) {
final int k = i + 1;
if (i == SIMHelper.SLOT_INDEX_DEFAULT) {
// load views for first SIM card
mMobile = (ImageView) findViewById(R.id.mobile_signal);
mMobileGroup = (ViewGroup) findViewById(R.id.mobile_combo);
mMobileType = (ImageView) findViewById(R.id.mobile_type);
mSpacer = findViewById(R.id.spacer);
mSignalClusterCombo = (ViewGroup)
findViewById(R.id.signal_cluster_combo);
/// M: Support "Service Network Type on Statusbar"
mSignalNetworkType = (ImageView) findViewById(R.id.network_type);
//tdp add
mMobileSlotIndicator = (ImageView)
findViewById(R.id.mobile_slot_indicator);
} else {
mMobile = (ImageView) findViewWithTag("mobile_signal_" + k);
mMobileGroup = (ViewGroup) findViewWithTag("mobile_combo_" + k);
mMobileType = (ImageView) findViewWithTag("mobile_type_" + k);
mSpacer = findViewWithTag("spacer_" + k);
mSignalClusterCombo = (ViewGroup)
findViewWithTag("signal_cluster_combo_" + k);
/// M: Support "Service Network Type on Statusbar"
mSignalNetworkType = (ImageView) findViewWithTag("network_type_" + k);
//tdp add
mMobileSlotIndicator = (ImageView)
findViewWithTag("mobile_slot_indicator_"+k);
}
//add
mMobileSlotIndicator.setImageDrawable(slots_indicators);
mMobileSlotIndicator.setVisibility(View.VISIBLE);
}
onDetachedFROMWindow()那里
//add
@Override
protected void onDetachedFromWindow() {
mVpn = null;
mWifiGroup = null;
mwifi = null;
/// M: WifiActivityIcon
mWifiActivity = null;
for (int i = SIMHelper.SLOT_INDEX_DEFAULT; i < mSlotCount ; i++) {
mMobileGroup = null;
mMobile = null;
mMobileType = null;
mSpacer = null;
//add
mMobileSlotIndicator = null;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top