0
点赞
收藏
分享

微信扫一扫

android5.x添加sim1,sim2标识

蚁族的乐土 2023-07-13 阅读 52


1,mobile_signal_group.xml 

 .....

 <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"

 />





  :mobile_slot_indicateor". }@ -->

 <ImageView

 android:id="@+id/mobile_slot_indicator"

 android:layout_height="wrap_content"

 android:layout_width="wrap_content"

 />



 </FrameLayout>




2,SignalClusterView.java




 int mIndicatorSlot=0;
 



 private ArrayList<PhoneState> mPhoneStates = new ArrayList<PhoneState>();








 int[] slots_indicators=new int[]{R.drawable.sim1_indicator,R.drawable.sim2_indicator};

 // 图片sim1_indicator,sim2_indicator是你制作的sim1,sim2标识
 





 @Override

 public void setSubs(List<SubscriptionInfo> subs) {

 Xlog.d(TAG, "setSubs(), subs= " + subs);

 // Clear out all old subIds.

 mPhoneStates.clear();

 if (mMobileSignalGroup != null) {

 mMobileSignalGroup.removeAllViews();

 }

 final int n = subs.size();

 for (int i = 0; i < n; i++) {




 mIndicatorSlot=subs.get(i).getSimSlotIndex();
 



 inflatePhoneState(subs.get(i).getSubscriptionId());

 }

 private PhoneState inflatePhoneState(int subId) {

 PhoneState state = new PhoneState(subId, mContext);




 state.mSlotIndicator=mIndicatorSlot;
 



 if (mMobileSignalGroup != null) {

 mMobileSignalGroup.View(state.mMobileGroup);

 }

 mPhoneStates.(state);

 return state;

 }







 private class PhoneState {

 private final int mSubId;

 private boolean mMobileVisible = false;

 private int mMobileStrengthId = 0, mMobileTypeId = 0;

 private boolean mIsMobileTypeIconWide;

 private String mMobileDescription, mMobileTypeDescription;



 private ViewGroup mMobileGroup;



 

 private ImageView mMobile, mMobileType,mMobileSlotIndicator;/mMobileSlotIndicator




 private int mSlotIndicator;



 public void setViews(ViewGroup root) {

 mMobileGroup = root;

 mMobile = (ImageView) root.findViewById(R.id.mobile_signal);

 mMobileType = (ImageView) root.findViewById(R.id.mobile_type);

 /// M: Support "Service Network Type on Statusbar".

 mSignalNetworkType = (ImageView) root.findViewById(R.id.network_type);






 mMobileSlotIndicator= (ImageView) root.findViewById(R.id.mobile_slot_indicator);

  
 

 }



 public boolean apply(boolean isSecondaryIcon) {

 Xlog.d(TAG, "apply(" + mSubId + ")," + " mMobileVisible= " + mMobileVisible +

 ", mIsAirplaneMode= " + mIsAirplaneMode);

 if (mMobileVisible && !mIsAirplaneMode) {

 mMobile.setImageResource(mMobileStrengthId);

 mMobileType.setImageResource(mMobileTypeId);

 mMobileGroup.setContentDescription(mMobileTypeDescription

 + " " + mMobileDescription);

 mMobileGroup.setVisibility(View.VISIBLE);


 

 mMobileSlotIndicator.setImageResource(slots_indicators[mSlotIndicator]);
 



 } else {

 mMobileGroup.setVisibility(View.GONE);

 }

举报

相关推荐

0 条评论