package com.sunvote.xpadapp.widget; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import com.sunvote.statusbar.view.BarItem; import com.sunvote.xpadapp.R; public class StatusBarView extends LinearLayout { Context mContext; //信号图标,基站编号,CH,终端ID,电池电量图标,系统时间,wifi BarItem barSignal,barBasestation,barCh,barTerminalId,barBattery,barSystemtime,barWifi; public StatusBarView(Context context) { this(context, null); } public StatusBarView(Context context, AttributeSet attrs) { this(context, attrs, 0); } View view; @SuppressLint("NewApi") public StatusBarView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context, attrs, defStyle); } private void init(Context ctx, AttributeSet attrs, int defStyle){ mContext=ctx; LayoutInflater ll = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); view = ll.inflate(R.layout.status_icon_view, null); view.setLayoutParams(lp); barSignal = (BarItem)view.findViewById(R.id.bar_signal); barBasestation = (BarItem) view.findViewById(R.id.bar_basestation); barCh = (BarItem) view.findViewById(R.id.bar_ch); barTerminalId = (BarItem) view.findViewById(R.id.bar_terminalId); barBattery = (BarItem) view.findViewById(R.id.bar_battery); barSystemtime = (BarItem) view.findViewById(R.id.bar_systemtime); barWifi= (BarItem) view.findViewById(R.id.bar_wifi); addView(view); } public void setBackgroundColor(int color){ view.setBackgroundColor(color); } /** * 设置信号图标 * @param rssi */ public void setStatusSignal(int rssi){ barSignal.setIcon(R.mipmap.signal); if (rssi < 95){ barSignal.setIcon(R.mipmap.signal_1); } if (rssi < 85){ barSignal.setIcon(R.mipmap.signal_2); } if (rssi < 75) { barSignal.setIcon(R.mipmap.signal_3); } if (rssi < 65) { barSignal.setIcon(R.mipmap.signal_4); } if (rssi < 55) { barSignal.setIcon(R.mipmap.signal_5); } } public void setStatusWifi(int wifi){ if(wifi > -100) { barWifi.setVisibility(VISIBLE); barWifi.setIcon(R.mipmap.wifi); }else { barWifi.setVisibility(GONE); } } /** * 设置基站编号 * @param value */ public void setStatusBarBaseId(int value){ barBasestation.setText(String.format("基站编号:%s",value+"")); } /** * 设置CH * @param value */ public void setStatusCH(int value){ barCh.setText(String.format("CH:%s",value)); } /** * 设置终端编号 * @param value */ public void setStatusKeyId(int value){ barTerminalId.setText(String.format("终端编号:%s",value)); } /** * 设置电量 * @param battery */ public void setStatusBattery(int battery, String BatteryPercent){ if(battery > 0 && battery <= 10){ barBattery.setIcon(R.mipmap.battery); }else if(battery > 10 && battery <= 40){ barBattery.setIcon(R.mipmap.battery_1); }else if(battery > 40 && battery <= 60){ barBattery.setIcon(R.mipmap.battery_2); }else if(battery > 60 && battery <= 80){ barBattery.setIcon(R.mipmap.battery_3); }else if(battery > 80 && battery <= 100){ barBattery.setIcon(R.mipmap.battery_4); }else{ barBattery.setIcon(R.mipmap.battery); } barBattery.setText(BatteryPercent); } /** * 返回时间控件 * @param */ public BarItem getTimeCtl(){ return barSystemtime; } }