自定义view

自定义SimpleAdapter

江枫思渺然 提交于 2020-02-29 16:46:23
SimpleAdapter,跟名字一样,一个简单的适配器,既为简单,就只是被设计来做简单的应用的,比如静态数据的绑定,不过仍然有自定义的空间,比如说在每一个ListItem中加一个按钮并添加响应事件.首先还是先看一下SimpleAdapter的定义吧,直接翻译下SDK doc 吧:   这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图。你可以指定由Map组成的List(比如ArrayList)类型的数据。在ArrayList中的每个条目对应List中的一行。Maps包含每一行的数据。你可以指定一个XML布局以指定每一行的视图,根据Map中的数据映射关键字到指定的视图。绑定数据到视图分两个阶段,首先,如果设置了SimpleAdapter.ViewBinder,那么这个设置的ViewBinder的setViewValue(android.view.View, Object, String)将被调用。如果setViewValue的返回值是true,则表示绑定已经完成,将不再调用系统默认的绑定实现。如果返回值为false,视图将按以下顺序绑定数据: 如果View实现了Checkable(例如CheckBox),期望绑定值是一个布尔类型。 TextView.期望绑定值是一个字符串类型,通过调用setViewText(TextView, String)绑定。

微信小程序自定义模态弹窗

落花浮王杯 提交于 2020-02-29 15:36:10
最近发现一个比较好用的小程序自定义模态框,将其简化了一下,可以在框内放入想要的内容。 具体内容如下: index.wxml 1 <view class="btn" bindtap="powerDrawer" data-statu="open">button</view> 2 3 <!--mask--> 4 <view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view> 5 <!--content--> 6 <!--使用animation属性指定需要执行的动画--> 7 <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}"> 8 9 <view class="drawer_title">弹窗标题</view> 10 <view class="drawer_content"> 11 12 </view> 13 <view class="btn_ok" bindtap="powerDrawer" data-statu="close">确定</view> 14 </view> index.wxss 1 .btn { 2 width:

微信小程序自定义模态弹窗

别来无恙 提交于 2020-02-29 15:35:55
最近发现一个比较好用的小程序自定义模态框,将其简化了一下,可以在框内放入想要的内容。 具体内容如下: index.wxml < view class = "btn" bindtap = "powerDrawer" data-statu = "open" > button </ view > <!--mask--> < view class = "drawer_screen" bindtap = "powerDrawer" data-statu = "close" wx:if = "{{showModalStatus}}" ></ view > <!--content--> <!--使用animation属性指定需要执行的动画--> < view animation = "{{animationData}}" class = "drawer_box" wx:if = "{{showModalStatus}}" > < view class = "drawer_title" > 弹窗标题 </ view > < view class = "drawer_content" > </ view > < view class = "btn_ok" bindtap = "powerDrawer" data-statu = "close" > 确定 </ view > </ view >

微信小程序之自定义模态弹窗(带动画)实例

不打扰是莪最后的温柔 提交于 2020-02-29 15:35:35
1、基本需求。 实现用户自定义弹框 带动画(动画可做参靠,个人要是觉得不好看可以自定义动画) 获取弹出框的内容,自定义事件获取 2、案例目录结构 二、程序实现具体步骤 1.弹框index.wxml代码 <!--button--> <view class="btn" bindtap="powerDrawer" data-statu="open">来点我呀</view> <!--mask--> <view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view> <!--content--> <!--使用animation属性指定需要执行的动画--> <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}"> <!--drawer content--> <view class="drawer_title">弹窗标题</view> <view class="drawer_content"> <view class="top grid"> <label class="title col-0">标题</label> <input class=

列表视图ListView

烂漫一生 提交于 2020-02-28 14:23:02
一、常用属性 android : layout_width = "match_parent" android : layout_height = "match_parent" android : orientation = "horizontal" > < ListView android : id = "@+id/lv_1" android : layout_width = "match_parent" android : layout_height = "wrap_content" android : listSelector = "@drawable/list_item" / > //这是列表选择器,在这可以通过drawab文件来修改列表的样式 下面是drawable/list_item的内容,当我点击列表是他是橙色的,否则就是白色 < selector xmlns : android = "http://schemas.android.com/apk/res/android" > < item android : state_selected = "true" android : drawable = "@color/colorOrange" / > < item android : state_pressed = "true" android : drawable = "

iOS UIView Class Translation

我只是一个虾纸丫 提交于 2020-02-28 12:55:23
类 UIView 一个管理屏幕上矩形区域内容的对象。 概述 Views 是你应用的用户界面最基础的组成部分。UIView类定义了对于所有 views 的共有的行为。一个 view 对象在它的边界矩形内渲染内容并且通过内容处理一切的交互行为。UIView 类是一个可以实例化并且用于展示固定背景颜色的具体类。你还可以使 UIView 子类化去描述更加复杂的内容。为了显示 labels,images,buttons 和其他在app内部常见的界面元素,用 UIKit 框架提供的 view 的子类比你自己定义要好。 因为 view 对象你的应用与用户交互的是主要的途径,它们有许多责任。下面列出一小部分: 绘图和动画 Views 用 UIKit 或者 Core Graphics 框架在它的矩形区域内去绘制内容。 某些 view 属性可以设置为新值的动画。 约束和子视图管理 Views 可以包含0个或更多的子视图。 Views 可以调整它们子视图的大小和位置。 使用“自动布局”定义根据视图层次结构中的更改调整视图大小和重新定位视图的规则。 事件处理 一个 view 是 UIResponder 的一个子类,可以响应触摸和其他事件类型。 Views 可以安装手势识别器来处理常见的手势。 Views 可以内嵌到其他的 views 内来创建视图层次结构,这个层次结构提供了一个方便的方式来处理相关内容

Django中间件的5种自定义方法

别来无恙 提交于 2020-02-28 06:41:37
阅读目录(Content) Django中间件 自定义中间件 中间件(类)中5种方法 中间件应用场景 回到顶部(go to top) Django中间件 在http请求 到达视图函数之前 和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 中间件的执行流程 1、执行完所有的request方法 到达视图函数。 2、执行中间件的其他方法 3、经过所有response方法 返回客户端。 注意:如果在其中1个中间件里 request方法里 return了值,就会执行当前中间件的response方法,返回给用户 然后 报错。。不会再执行下一个中间件。 回到顶部(go to top) 自定义中间件 1.在project下随便创建一个py文件 from django.utils.deprecation import MiddlewareMixin class Middle1(MiddlewareMixin): def process_request(self,request): print("来了") def process_response(self, request,response): print('走了') View Code 2、在setings文件中 注册这个 py文件 django项目的settings模块中,有一个 MIDDLEWARE

Android简易天气预报App

陌路散爱 提交于 2020-02-27 01:15:34
先看下app效果图: App介绍 :首次启动应用时列表显示全国34个省份及直辖市包括港澳台,如果选择省份进入所在省份下的市列表,如果再选择市项进入该市下所有的区或县(包括该市)列表,如果再选择该列表下的项就显示该区域的天气预报界面。图5从左滑出侧边栏可以选择其他城市。如果是非首次启动,则显示上次选择的城市天气预报界面(比如退出时显示广州的天气预报界面即图4,再次进入时仍显示该界面)。 具体app功能实现: 1.获取全国城市列表(图1到图3) 想罗列出中国所有的省份,只需要访问地址: http://guolin.tech/api/china ,服务器会返回一段JSON格式的数据,包含中国所有省份名称以及省份id。如果想知道某个省份内有哪些城市,比如江苏的id是16,访问地址:http://guolin.tech/api/china/16。只需要把省份id添加到url地址的最后面即可。比如苏州的id是116,那么想知道苏州下有哪些县和区的时候,访问地址:http://guolin.tech/api/china/16/116。如此类推。 本app使用DataSupport这款开源的数据库框架进行城市查询,需要在app下的build.gradle导入: implementation 'org.litepal.android:core:1.4.1'

自定义View注意事项

强颜欢笑 提交于 2020-02-26 16:48:34
一、自定义view需要继承View类 既然是自定义view所以为了方便需要继承View类,或者其他View类例如TextView等类 二、必须写入构造方法否则无法使用findViewbyId()方法找到控件 之定义View必须写入构造函数而且需要函数重载,并且加入super(contex)等样式如下 我第一次做自定义view时就忘了使用super(context,attrs)这个方法,结果findviewbyid()找不到xml里面的控件 public MyView ( Context context ) { super ( context ) ; //这个必须有否则findviewbyid找不到 } public MyView ( Context context , AttributeSet attrs ) { super ( context , attrs ) ; //这个必须有否则findviewbyid找不到 init ( context , attrs ) ; } 二、必须重写 onDraw(Canvas canvas)方法 onDraw方法如下,使用postInvalidate()重新调用(onDraw) @Override protected void onDraw(Canvas canvas) { } 我理解onDraw的解释:就是在这里画的意思。“在这里画

Day2_25_第五天 Fragment高级进阶

主宰稳场 提交于 2020-02-26 02:26:27
Fragment高级进阶 一.Fragment回退栈 二.Fragment传值 1.Activity给Fragment传值 2.Fragment给Activity传值 3.Fragment给Fragment传值 三.Fragment多层嵌套 一.Fragment回退栈 通过代码,将fragment加入到栈中,按返回键时会将fragment弹栈 public class Main2Activity extends AppCompatActivity { private FragmentManager supportFragmentManager ; private BlankFragment blankFragment ; private Button butBack ; @Override protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . activity_main2 ) ; initViews ( ) ; } private void initViews ( ) { supportFragmentManager = getSupportFragmentManager ( ) ;