コード例 #1
0
 public void drawText(Canvas canvas) {
   mPaint.setTextSize(MyApplication.sp2px(15));
   for (int i = 0; i < week_strings.length; i++) {
     canvas.drawText(date_strings[i], minXs[i], MyApplication.dp2px(height - 15), mPaint);
     canvas.drawText(week_strings[i], minXs[i], MyApplication.dp2px(15), mPaint);
     canvas.drawText(weatherData[i], minXs[i], MyApplication.dp2px(35), mPaint);
   }
 }
コード例 #2
0
 public void drawPoint(Canvas canvas) {
   for (int i = 0; i < maxXs.length; i++) {
     canvas.drawCircle(maxXs[i], maxYs[i], MyApplication.dp2px(3), mPaint);
     canvas.drawCircle(minXs[i], minYs[i], MyApplication.dp2px(3), mPaint);
     canvas.drawText(maxData[i] + "°", maxXs[i], maxYs[i] - MyApplication.dp2px(20), mPaint);
     canvas.drawText(minData[i] + "°", minXs[i], minYs[i] + MyApplication.dp2px(30), mPaint);
   }
 }
コード例 #3
0
 public ForecastTable(Context context) {
   super(context);
   mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
   mPaint.setAntiAlias(true);
   mPaint.setColor(Color.WHITE);
   mPaint.setStrokeWidth(MyApplication.dp2px(1));
   mPaint.setTextSize(MyApplication.sp2px(13));
   mPaint.setTextAlign(Paint.Align.CENTER);
   initData();
 }
コード例 #4
0
  public void drawBitmap(Canvas canvas) {
    RectF rectF;
    for (int i = 0; i < bitmaps.length; i++) {
      if (bitmaps[i] != null) {
        rectF =
            new RectF(
                minXs[i] - MyApplication.dp2px(10),
                MyApplication.dp2px(height - 60),
                minXs[i] + MyApplication.dp2px(10),
                MyApplication.dp2px(height - 40));

        canvas.drawBitmap(bitmaps[i], null, rectF, mPaint);
      }
    }
  }
コード例 #5
0
ファイル: MyLocation.java プロジェクト: Liuhongan/505Weather
 public void getUserLocation() {
   BDLocationListener listener = new MyLocationListener();
   locationClient = new LocationClient(MyApplication.getContext());
   initLocation();
   locationClient.registerLocationListener(listener);
   locationClient.start();
 }
コード例 #6
0
ファイル: MyLocation.java プロジェクト: Liuhongan/505Weather
    @Override
    public void onReceiveLocation(BDLocation bdLocation) {

      locType = bdLocation.getLocType();
      if (locType == BDLocation.TypeGpsLocation || locType == BDLocation.TypeNetWorkLocation) {
        city = bdLocation.getCity();
        district = bdLocation.getDistrict();
        if (TextUtils.isEmpty(city)) {
          return;
        }
        if (city.contains("自治区") || city.contains("自治县")) {
          city = city.replace("自治区", "");
          city = city.replace("自治县", "");
        } else {
          city = city.substring(0, city.length() - 1);
        }

        if (district.contains("自治区") || district.contains("自治县")) {
          district = district.replace("自治区", "");
        } else {
          district = district.substring(0, district.length() - 1);
        }
        LocationCityId locationCityId = new LocationCityId();
        locationCityId.getLocationCityId(
            city,
            district,
            new LocationCallBack() {
              @Override
              public void onFinish(String return_id, String city_name) {
                if (mLocationListener != null) {
                  mLocationListener.onLocated(return_id, city_name);
                }
              }

              @Override
              public void onError() {}
            });
        Log.d("City", city);
        Log.d("District", district);
      } else {
        Toast.makeText(MyApplication.getContext(), "定位失败...", Toast.LENGTH_SHORT).show();
      }
      locationClient.stop();
      /*StringBuffer sb = new StringBuffer(256);
      sb.append("time : ");
      sb.append(bdLocation.getTime());
      sb.append("\nerror code : ");
      sb.append(bdLocation.getLocType());
      sb.append("\nlatitude : ");
      sb.append(bdLocation.getLatitude());
      sb.append("\nlontitude : ");
      sb.append(bdLocation.getLongitude());
      sb.append("\nradius : ");
      sb.append(bdLocation.getRadius());
      if (bdLocation.getLocType() == BDLocation.TypeGpsLocation){// GPS定位结果
          sb.append("\nspeed : ");
          sb.append(bdLocation.getSpeed());// 单位:公里每小时
          sb.append("\nsatellite : ");
          sb.append(bdLocation.getSatelliteNumber());
          sb.append("\nheight : ");
          sb.append(bdLocation.getAltitude());// 单位:米
          sb.append("\ndirection : ");
          sb.append(bdLocation.getDirection());// 单位度
          sb.append("\naddr : ");
          sb.append(bdLocation.getAddrStr());
          sb.append("\ndescribe : ");
          sb.append("gps定位成功");

      } else if (bdLocation.getLocType() == BDLocation.TypeNetWorkLocation){// 网络定位结果
          sb.append("\naddr : ");
          sb.append(bdLocation.getAddrStr());
          //运营商信息
          sb.append("\noperationers : ");
          sb.append(bdLocation.getOperators());
          sb.append("\ndescribe : ");
          sb.append("网络定位成功");
      } else if (bdLocation.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
          sb.append("\ndescribe : ");
          sb.append("离线定位成功,离线定位结果也是有效的");
      } else if (bdLocation.getLocType() == BDLocation.TypeServerError) {
          sb.append("\ndescribe : ");
          sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
      } else if (bdLocation.getLocType() == BDLocation.TypeNetWorkException) {
          sb.append("\ndescribe : ");
          sb.append("网络不同导致定位失败,请检查网络是否通畅");
      } else if (bdLocation.getLocType() == BDLocation.TypeCriteriaException) {
          sb.append("\ndescribe : ");
          sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
      }
      sb.append("\nlocationdescribe : ");
      sb.append(bdLocation.getLocationDescribe());// 位置语义化信息
      List<Poi> list = bdLocation.getPoiList();// POI数据
      if (list != null) {
          sb.append("\npoilist size = : ");
          sb.append(list.size());
          for (Poi p : list) {
              sb.append("\npoi= : ");
              sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
          }
      }
      Log.d("BaiduLocationApiDem", sb.toString()); */

    }
コード例 #7
0
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
   super.onMeasure(widthMeasureSpec, heightMeasureSpec);
   setMeasuredDimension(MyApplication.dp2px((pointCount) * jiange), MyApplication.dp2px(height));
 }
コード例 #8
0
 public void addMinPoint(int i, float x, float y) {
   minXs[i] = MyApplication.dp2px(x);
   minYs[i] = MyApplication.dp2px(y);
 }
コード例 #9
0
 public void addMaxPoint(int i, float x, float y) {
   maxXs[i] = MyApplication.dp2px(x);
   maxYs[i] = MyApplication.dp2px(y);
 }