⑴ android开发,EditText,为什么我用的时候它就只是一条线那样的输入框呢
没见一个回答正确的。为什么看以前的视频和教材发现 最基本的输入框是个方形?自己测试结果是个直线?这TM学IT也要掌握点基础文化和基础知识啊!
这是因为谷歌公司的交互界面在变化!以前安卓1.0到4.0之前,默认的输入框是个和网页输入框一样的方形,就是有四个边框的长框形。然后,可能NC谷歌觉得这个完全不够自己的逼格(或者说不能体现自己公司的牛逼-贬义),就调整了自己的设计风格。
安卓4.0及以后,默认的输入框就是一条直线,然后下拉框类似,Switch开关按钮也非要装B的变一变,和iOS风格好有个区别。
所以,你现在用安卓4.0以上的版本做安卓开发,它显示成直线那它给用户用起来就是直线,因为它本来就被谷歌公司设计成了直线。你再去看网上那些几年前老掉牙的视频和图片,人家自然是方框了。不要在意这些细节,少年!
另外,学IT记得把基础知识和一些谷歌、微软、苹果和重要产品如安卓、iOS的东西多了解了解,省的遇到这种说是问题也不是问题的常识问题!
⑵ App登录界面----布局篇
我自学了3个月的Android基础,居然一个App都做不出来。在我之前学的同时居然忘记了之前学的内容。所以我现在重新开始复习,这篇文章将是我复习的开始也是基础的稳固,同时也是将来记不得了可以自我回顾的笔记。首先是从App登录开始。
首先第一是布局,登录界面布局那就要用到控件,登录界面所需控件如下:
1.姓名 输入框 密码 输入框:就要有Textview文本控件 X 2, Editview输入文本框控件 X 2
2.立即注册 忘记密码 登录 :就要有Button控件 X 3
既然要布局就要有布局控件:可以用RelativeLayout相对布局,LinearLayout线性布局,TableLayout表格布局,FrameLayout帧布局,AbsoluteLayout绝对布局。我要选用就就是前两个布局:RelativeLayout相对布局或者LinearLayout线性布局。
这就是我最终预想所要达到的效果:
首先打开布局文件:展开app--->res--->layout--->activity_main.xml
切换到设计模式Design:
然后从调色板Palette就是控件库拖拽出所需控件:
2个Textview,2个Editview ,3个Button.一开始布局控件就是相对布局控件,RelativeLayout相对布局控件允许通过指定显示对象相对于父容器或其他兄弟控件的相对位置结合margin,padding来进行布局。
然后我们再切换回文本模式Text:
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>这就组成了一个控件。
再来解释解释RelativeLayout相对布局控件是啥意思:
上图所表现的意思就是RelativeLayout相对布局控件的特点:TextView文本控件基于父容器(RelativeLayout相对布局控件)之下,再看图:
它会自动添加默认属性:android:text="文本控件"//这是文本属性可以输入文字
android:textSize="50dp"//这是文本大小属性是控制text属性的大小
android:layout_width="wrap_content"//这是宽,选择的自适应屏幕
android:layout_height="wrap_content"这是高。
android:layout_marginTop="253dp"// 重点就在这里了:在RelativeLayout相对布局下拖出的控件会有这条属性,意思是TextView相距父容器253dp的距离
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
好了我们继续:我写的这个布局呢?只用了两个EditView控件和三个Button控件。先说EditView控件。
拖拽出来改好了各种属性但是和我的不一样,哪里不一样?有边框,边框还是圆角。怎么弄的?这是改变了它的样式。首先目录找到drawable文件按下Alt+lns键,点击Drawable resource file
那就会弹出下面这个框框好创建资源文件,File name:这是资源文件的名字,Root element:这是需要创建什么类型的资源文件。
假如没有出现这个对话框而是另外的对话框就请更换模式
将Android 目录模式切换成Project目录模式
找到drawable文件重复上面操作就会出现
名字就自己取吧,类型选择shape文件
这就是我为EditView设置的资源文件,那么怎么加载它呢?
用背景background属性来加载:@drawable/border用@选择文件位置加载就成功了。
文本框就做好了。噢!!!等等还有个属性android:hint="登录"还没介绍,这是提示语:比如请输入用户名,请输入密码,这样的提示语,只起到提示作用。范例:android:hint="请输入用户名"
好吧依次类推,Button按钮也是这样。我们先来看忘记密码,立即注册两控件这两我没这样加载资源文件,我只用了3条属性,
android:background="@null"//这条意思是背景设置路径为空,作用是消除边框。
android:shadowColor="#338AFF"//改变按钮背景颜色,让它看起来和相对布局背景融为一体。
android:textColor="#0066CC"//改变文字颜色
怎么样是不是和QQ登录界面的差不多
那再来看立即登录按钮,这个按钮我用了三个资源文件,为了让按钮按下抬起有一个变色效果,能够反馈用户视觉:您已按下按钮。
首先看按下的资源文件:
这是按下的模样,radius是设置圆角,然后是按下后的颜色。
再来看抬起:
这是抬起时候的样子,圆角按下抬起都要设置一样,不然按下是一个样,抬起又是另一个样子,然后是抬起的颜色。
这是两个资源文件,如何让按钮呈现出按下抬起的不同效果呢?
就需要另一个资源文件来操控:selector资源文件
由他来控制这两个资源文件:
<item/>这是资源文件的标签,包括shape资源文件的:<corners/><solid/>都是标签
标签<item/>里面
android:drawable="@drawable/clickroundedcolor"//是加载按下资源文件,
android:state_pressed="true"//true就是对,就是一个判断作用,判断是否按下,按下就加载按下的资源文件
然后再一个子标签<item/>
<item android:drawable="@drawable/roundedcolor"/>也就是说当上面pressed不为true的时候执行下面这个标签加载抬起状态的效果。
这就做成了按下深蓝抬起浅蓝的颜色效果。那今天就到这里,复习到了什么Editview Button控件的使用然后在原来的基础上学到了EditView 和Button控件的UI设计一些细节效果。
还熟悉了Android studio。之前用Eclipse学习的Android,现在改用AS还特别不习惯,希望复习后我会熟练Android studio。恩,还有看到忘记密码,立即注册两个按钮是不是还会联想到还有两个布局。没错,忘记密码和立即注册这两个布局文件,就不用记录了,相信会了登录主界面布局,其他两个不在话下。
⑶ Android-EditView文本编辑控件详解
EditView 是Android开发当中运用到最多的控件之一,主要用户界面上的输入框。
View --> TextView --> EditView 。
1.设置提示文本:
2.设置hint提示文字颜色:
3.设置输入文本后的文字颜色:
4.设置输入文本后的字体大小:
5.设置输入文本后的字体样式,bold(加粗),italic(倾斜),normal(默认是正常字体)。
6.设置被选中字体的颜色.默认为 Theme 主题中的 “colorAccent”的颜色。
7.设置被光标的颜色.默认为 Theme 主题中的 “colorAccent”的颜色。
8.设置文本的水平缩放系数。
9.设置hint提示文本的字体.normal(默认)\monospace\sans\serif。
10.设置EditText背景."@null"设置背景为透明.当我们设置背景后,EditText的下划线就会消失。
11.设置文本的颜色,字体,大小和样式。
12.设置只接收指定的文本内容,适合只能输出特定内容的需求。
13.设置文本的类型,用于帮助输入法显示合适的键盘类型。
14.设置EditText最多接受的文本的个数:
15.设置EditText显示的行数,设置两行就显示两行,即使第二行没有数据。
16.设置行间距的倍数. 如设置成1.5倍。
17.设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号.
⑷ ios和android 浏览器适配问题总结
移动端、 适配(兼容)、 ios点击事件300ms延迟、 点击穿透、 定位失效......
关于Web移动端Fixed布局的解决方案,这篇文章也不错 http://efe..com/blog/mobile-fixed-layout/
详细介绍见这里: https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events
一篇文章有详细介绍,地址: http://www.jb51.net/post/phone_web_ysk
//问题一解决,我目前用的是js。如下
//问题二,是因为form提交默认做了表单验证,step默认是1,要设置step属性,假如保留2位小数,写法如下:
<input type="number"step="0.01"/>
关于step,我在这里做简单的介绍,input 中type=number,一般会自动生成一个上下箭头,点击上箭头默认增加一个step,点击下箭头默认会减少一个step。number中默认step是1。也就是step=0.01,可以允许输入2位小数,并且点击上下箭头分别增加0.01和减少0.01。
假如step和min一起使用,那么数值必须在min和max之间。
看下面的例子:
<input type="number"step="3.1"min="1"/>
输入框可以输入哪些数字?
首先,最小值是1,那么可以输入1.0,第二个是可以输入(1+3.1)那就是4.1,以此类推,每次点击上下箭头都会增加或者减少3.1,输入其他数字无效。这就是step的简单介绍。
//问题三,去除input默认样式
解决方式如下:
设置如下:
可以设置如下:
iOS 浏览器横屏时会重置字体大小,设置 text-size-adjust 为 none 可以解决 iOS 上的问题,
但桌面版 Safari 的字体缩放功能会失效,因此最佳方案是将 text-size-adjust 为 100% 。
这个不是 BUG,由于自动播放网页中的音频或视频,会给用户带来一些困扰或者不必要的流量消耗,所以苹果系统和安卓系统通常都会禁止自动播放和使用 JS 的触发播放,必须由用户来触发才可以播放。
解决方法思路:先通过用户 touchstart 触碰,触发播放并暂停(音频开始加载,后面用 JS 再操作就没问题了)。
这个我感觉没有什么好的解决方案,用如下方法
有些机型的搜索input控件会自带close按钮(一个伪元素),而通常为了兼容所有浏览器,我们会自己实现一个,此时去掉原生close按钮的方法为:
如果想使用原生close按钮,又想使其符合设计风格,可以对这个伪元素的样式进行修改。
//zepto方式:
⑸ 腾讯QMUI Android框架使用(一)入门及目录
把项目的 theme 的 parent 指向 QMUI.Compat,至此,QMUI 可以正常工作。
你可以通过在项目中的 theme 中用
的形式来覆盖 QMUI 组件的默认表现。具体可指定的属性名请参考 @style/QMUI.Compat 中的属性。
对 Button 提供圆角功能,支持以下特性:
1.指定圆角的大小。
2.分别指定不同方向的圆角大小。
3.指定圆角的大小为高度的一半,并跟随高度变化自适应圆角大小。
4.支持分别指定背景色和边框色,指定颜色时支持使用 color 或 ColorStateList。
提供了一系列常用的对话框,解决了使用系统默认对话框时在不同 Android 版本上的表现不一致的问题。使用不同的 Builder 来构建不同类型的对话框,这些 Builder 都拥有设置 title 和添加底部按钮的功能,不同的 Builder 特有的作用如下:
1.MessageDialogBuilder: 消息类型的对话框 Builder。通过它可以生成一个带标题、文本消息、按钮的对话框。
2.ConfirmMessageDialogBuilder: 带 Checkbox 的消息确认框 Builder。
3.EditTextDialogBuilder: 带输入框的对话框 Builder。
4.MenuDialogBuilder: 菜单对话框 Builder。
5.CheckableDialogBuilder: 单选类型的对话框 Builder。
6.MultiCheckableDialogBuilder: 多选类型的对话框 Builder。
7.CustomDialogBuilder: 自定义对话框内容区域的 Builder。
8..AutoResizeDialogBuilder: 随键盘升降自动调整 Dialog 高度的 Builder
类似 CSS 里 float: left 的浮动布局,从左到右排列子 View 并自动换行。支持以下特性:
1.控制子 View 之间的垂直/水平间距。
2.控制子 View 的水平对齐方向(左对齐/居中/右对齐)。
3.限制子 View 的个数或行数。
通用的空界面控件,支持显示 loading、主标题和副标题、图片。
用于横向多个 Tab 的布局,包含多个特性:
1.可以用 xml 或 QMUITabSegment 提供的 set 方法统一配置文字颜色、icon 位置、是否要下划线等。
2.每个 Tab 都可以非常灵活的配置,内容上支持文字和 icon 的显示,icon 支持选中态,支持内容的排版对齐方向设置,支持显示红点,3.支持插入自定义的 View,支持监听双击事件等。
4.可以通过 setupWithViewPager(ViewPager) 方法与 ViewPager 绑定。
一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下:
1.支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。
2.可以通过 xml 属性修改进度背景色,当前进度颜色,进度条尺寸。
3.支持限制进度的最大值。
通用的列表,常用于 App 的设置界面,注意其父类不是 ListView 而是 LinearLayout,所以一般要配合 ScrollView 使用。提供了 Section 的概念,用来将列表分块。 配合 QMUIGroupListView.Section, QMUICommonListItemView 和 使用。
提供一个浮层展示在屏幕中间,提供了以下两种样式:
1.使用 QMUITipDialog.Builder 生成,提供了一个图标和一行文字的样式, 其中图标有 Loading、成功、失败等类型可选。
2.使用 QMUITipDialog.CustomBuilder 生成,支持传入自定义的 layoutResId。
提供为图片添加圆角、边框、剪裁到圆形或其他形状等功能。
在 TextView 的基础上支持文字竖排。
下拉刷新控件。支持自定义 RefreshView(表示正在刷新的 View),触发刷新的位置等特性。
提供一个浮层,支持自定义浮层的内容,支持在指定 View 的任一方向旁边展示该浮层,支持自定义浮层出现/消失的动画。
相比 TextView,修正了两个常见问题:
修正了 TextView 与 ClickableSpan 一起使用时,点击 ClickableSpan 也会触发 TextView 的事件的问题。
修正了 TextView 默认情况下如果添加了 ClickableSpan 之后就无法把点击事件传递给 TextView 的 Parent 的问题。
使 TextView 能自动识别 URL、电话、邮箱地址,相比 TextView 有以下特点:
1.可以设置链接的样式。
2.可以设置链接的点击事件。
1.支持显示表情的伪 TextView(继续自定义 View,而不是真正的 TextView), 实现了 TextView 的 maxLine、ellipsize、textSize、textColor 等基本功能。
2.支持与 QMUITouchableSpan 配合使用实现内容可点击。
支持二级结构的列表的折叠与展开;支持滚动时悬浮当前 section header; 支持在section list 或 section item list 前后添加自定义 View。
对 QMUITopBar 的包裹类,并代理了 QMUITopBar 的方法。配合 QMUIWindowInsetLayout 使用,可使 QMUITopBar 在支持沉浸式状态栏的界面中顶部延伸到状态栏。