編輯:關於Android編程
3. public LineChartTools( LinkedList
三、遇到的問題以及解決的方式
1.x軸坐標顯示不完全
解決方式:設置屬性解決 chart.getXAxis().setAvoidFirstLastClipping(true); //x軸上起點和終點坐標數顯示不完整
**2.x軸坐標數據錯亂(重點注意)
解決方式:*一定要先調用loadLineChartData()方法給圖表設置數據,再調用setLineChartStyle()* 方法設置圖表的樣式。順序一定不能打亂!!!!
3.x軸坐標軸設置間隔後,最後一個數據不顯示
設置間隔屬性:chart.getXAxis().setLabelsToSkip(5); 間隔為5
解決方式:在集合數據的最後添加一條空數據 Mapmap = list.get(list.size() - 1); if ("1".equals(dateStart) && "1".equals(dateRange)) { //如果是,昨天,24小時制,添加一條原來list集合裡的最後一個數據 list.add(map); } mList =list;
4.x軸坐標顯示不完全
vcq9o7rO0tXiwO/Kx7u70rvW1su8wre1xKOsPGJyIC8+DQooMSm9q2xlYmFsserHqbXEsry+1rnMtqjU2tbQvOSjrLb4yMPUrUxpbmVDaGFydE1hcmtlclZpZXe1xLK8vtZsYXlvdXRSZXNvdXJjZc6qv9WhozxiciAvPg0KbGViYWyx6septcSyvL7Wucy2qNTa1tC85LXEsry+1jwvcD4NCjxwcmUgY2xhc3M9"brush:java;">
(2)將固定的標簽lebal的時間和統計(掃碼次數)的屬性傳入,從而動態的獲取統計的數據和時間(即x、y軸數據),然後獲取的數據設置給固定的標簽布局。
layoutResource的布局文件
public class LineChartMarkerView extends MarkerView{ private TextView mTime; private TextView mName; private TextView mData; private String mDateStart; //開始時間 private String mDateRange; //時間間隔 // private LinkedList> mList; private LinkedList > mList; private Map.Entry mFstMapEntry; public LineChartMarkerView(Context context, int layoutResource, String name,LinkedList > list,TextView labelTime//時間 ,TextView labelData//統計的數據) { super(context, layoutResource); if (null != list && list.size() > 0 && labelTime != null && labelData != null) { mList = list; }else { return; } mTime =labelTime; mData = labelData; } @Override public void refreshContent(Entry e, Highlight highlight) { //y軸數據 int intVal = (int) e.getVal(); String val = Integer.toString(intVal); //固定lebal設置統計數據(即y軸數據) mData.setText(val); //上面的時間 if (e.getXIndex() < mList.size()) { // ContentUtil.makeLog("e.getXIndex()", e.getXIndex() + ""); mFstMapEntry = Tools.fstMapEntry(mList.get(e.getXIndex())); } //今天和昨天顯示0:00、6:00、12:00格式顯示 if (mFstMapEntry != null && mFstMapEntry.getKey() != null && mTime != null) { //固定lebal設置時間數據(即x軸數據) mTime.setText(mFstMapEntry.getKey()); } } @Override public int getXOffset(float xpos) { return -(getWidth() / 3); } @Override public int getYOffset(float ypos) { return -getHeight(); } }
前言距離寫上一篇自定義View文章已經大半年過去了,一直想繼續寫,但是無奈技術有限,生怕誤人子弟。這段時間項目剛剛完成,有點時間,跟著大神的腳步,鞏固下自定義View的相
在itools新出的安卓模擬器裡,我們見到了很多亮點,比如DIY按鍵,一鍵隱藏,共享文件,賬號多開,甚至是手機才可以用的旋轉屏幕,那麼在itools安卓模擬
SQLite是一款輕量級的關系型數據庫,它運算速度快,占用資源少,通常只需要幾百k的內存就夠了,支持標准的sql語法和數據庫的ACID事務。在android中為了能夠更加
華為、榮耀很多款機型都配備了指紋識別模塊,長期用指紋來解鎖,恐怕鎖屏密碼都忘記了吧?那麼要怎麼才能不用雙清、不用還原系統,不丟失任何數據的情況下修改鎖屏密碼