Android自定义控件之天气视图

地址:http://www.jianshu.com/p/cc910f716950

Github传送门:https://github.com/zhouzhuo810/ZzWeatherView

(欢迎start!)

1

Gradle

compile 'me.zhouzhuo.zzweatherview:zz-weather-view:1.0.0'

2

效果图如下:

3

用法简介:

1)布局

drawable/scroll_bar_thumb.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <gradient android:startColor="#33999999" android:endColor="#80aaaaaa"        android:angle="0"/>    <corners android:radius="6dp" /></shape>

<me.zhouzhuo.zzweatherview.ZzWeatherView        android:id="@+id/weather_view"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:scrollbarThumbHorizontal="@drawable/scroll_bar_thumb"        android:scrollbarTrackHorizontal="@drawable/scroll_bar_thumb"        android:scrollbarSize="4dp"        android:background="#333"        >    </me.zhouzhuo.zzweatherview.ZzWeatherView>

2)java

ZzWeatherView weatherView = (ZzWeatherView) findViewById(R.id.weather_view);        //填充天气数据        weatherView.setList(generateData());        //画折线        weatherView.setLineType(ZzWeatherView.LINE_TYPE_DISCOUNT);        //画曲线(不够圆滑希望有更好的建议联系我(Email:admin@zhouzhuo810.me))        //weatherView.setLineType(ZzWeatherView.LINE_TYPE_CURVE);        //设置线宽        weatherView.setLineWidth(6f);        //点击某一列        weatherView.setOnWeatherItemClickListener(new ZzWeatherView.OnWeatherItemClickListener() {            @Override            public void onItemClick(WeatherItemView itemView, int position, WeatherModel weatherModel) {                Toast.makeText(MainActivity.this, position+"", Toast.LENGTH_SHORT).show();            }        });

//数据源  WeatherModel model = new WeatherModel();        model.setDate("12/07");//日期        model.setWeek("昨天");  //星期        model.setDayWeather("大雪"); //白天天气        model.setDayTemp(11); //白天温度        model.setNightTemp(5); //夜晚温度        model.setNightWeather("晴"); //夜晚天气        model.setWindOrientation("西南风"); //风向        model.setWindLevel("3级"); //        model.setAirLevel(AirLevel.EXCELLENT); //空气质量

END

我,还在分享

(0)

相关推荐

  • Android之给ImageView添加点击效果

    Android之给ImageView添加点击效果

  • Android 添加shape xml

    为了使app中各个控件更漂亮,在考虑app前端时一般会将其形状抽象出来放在drawable文件下的xml文件中,其操作步骤如下: 1.点击drawable文件夹后,右键,在弹出菜单中找到new,然后在 ...

  • Android 自定义控件基础:MeasureSpec

    前言 MeasureSpec 很大程度上决定了一个View尺寸规格,是因为这个过程还受父容器的影响,因为父容器影响View 的MeasureSpec的创建过程.在测量过程中,系统会将View的Layo ...

  • #Android & iOS#为你预报几点几分下雨:彩云天气

    ‍ 近来些日子,南方城市连续暴雨,天气状况不佳. 下雨天,可能会影响到我们的交通出行,影响到我们的心情,出门没带伞,就会被突如其来的不佳天气变成一只落汤鸡. 今日推荐一款基于气象雷达研发的高精度分钟级 ...

  • #Android & iOS#你们要的猜图游戏的有爱天气APP:知趣天气

    最近很多少侠在后台留言问:下面这个最近很火的猜图软件叫啥名? 后来呼儿才看到原来这么火的一个游戏是,是内置在一个天气软件内部的. 今日推荐这款内含疯狂猜图的天气APP--知趣天气. 知趣天气是一款简洁 ...

  • #Android & iOS#备受欢迎的天气应用:我的天气 MyWeather

    虽然各种天气变化莫测,我们无法改变天气,但至少我们能预知天气. 因此无论你从事什么行业,做什么事情,几乎都会去主动的关注天气情况,以此提醒自己是否要带雨伞,或是减衣保暖. 呼儿嘿哟觉得对于天气 App ...

  • S-BEV:用于天气和光照不变的3-DoF定位的语义鸟瞰视图表示

    重磅干货,第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯.小白决心每天为大家带来经典或者最新论文的解读和分享,旨在帮助各位读者快速了解论文内容.个人能力有限,理解难免出现偏差,建议对文章 ...

  • (3条消息) Android 视图绑定(ViewBinding)在Activity、Fragment和Adapter中的用法(java)

    今天打开Butter Knife,发现作者说"This tool is now deprecated.  Please switch to view binding."于是学习了一 ...

  • Android 进阶 - 视图层级实时分析(含福利)

    摘要 在 App 运行过程中,我们的视图层级可能会由于用户的操作一直在发生改变,甚至可能会有一些出乎预料的变化,本文将会介绍如何进行Android 视图实时分析,分析 View 的视图层级及属性变化. ...

  • 警惕!夏季高温天气对人体的危害

    警惕!夏季高温天气对人体的危害 高温热浪使人体不能适应环境,超过人体的耐受极限,从而导致疾病的发生或加重,甚至死亡,动物也是一样:同时高温热浪也可以影响植物生长发育,使农作物减产.那么炎热的夏季对人体 ...

  • 2021年5月8日                 天气:阴

    今天早上开始阅读<财务自由之路>,作者是博多.舍费尔.读这本书是因为在喜马拉雅FM听到的有声书,个人觉得这本书太好了,决定仔细阅读一下.书中作者讲述对金钱的观念,储蓄的重要性.还有怎么把储 ...