首先定义menu的xml资源文件 右键res文件夹,选择New -> Android resource file ?...然后在xml文件中根据需要定义item android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com..."> 在Fragment类中,继承onCreateOptionsMenu(Menu, MenuInflater)方法,加载menu资源文件: @Override...类中的onCreate(Bundle)方法中加入: setHasOptionsMenu(true); 完整代码看起来是这样的: @Override public void onCreate(Bundle
之后便能给Menu对象调用addSubMenu方法添加子菜单;addSubMenu返回一个SubMenu对象,可调用SubMenu的add方法给子菜单添加具体项目。...v7-appcompat库中也提供了新版ListPopupWindow,据我观察在功能上没什么区别,主要是在弹窗的显示风格上有所差异,如旧版的ListPopupWindow有明显的窗口边框与边缘阴影...,而新版的ListPopupWindow就没有窗口边框。...下面是旧版ListPopupWindow的UI,有窗口边框: ? 下面是新版ListPopupWindow的UI,没有窗口边框: ?...4、ListPopupWindow和Spinner可以设置默认选中项,而PopMenu没有默认选中项。
设置TextView文本边框 背景渐变 使用背景 : TextView 是没有边框的, 如果要加上边框, 可以通过设置TextView的背景添加边框; 自定义背景: 使用XML文件定义一个drawable...-- 设置边框的厚度为4像素, 设置边框颜色 --> android:width="10px" android:color="#01DF01"/> 为指定范围的字符串添加效果 : span.setSpan(new AbsoluteSizeSpan(58), 1, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE), 为下标从...1 ~ 5的字符串添加 字体大小为58像素的效果; c....android:selectAllOnFocus 如果文本框的内容可选择, 当该EditText获取焦点时是否全部选中内容 --> <
我们可以像这样在布局中添加一个 Chip , 使用 app:chipText 属性设置 Chip 中显示的文本: android.support.design.chip.Chip android...app:chipText="This is a chip" /> Chip 还有其他的属性集合用于进一步的定义样式: app:checkable: 用于声明 Chip 是否能被切换为选中或未选中....如果的确如此, 你可以使用如下的 ChipGroup 本身的属性为子 Chip 视图添加一些间距: app:chipSpacing: 在横纵轴方向均添加间距 app:chipSpacingHorizontal...android.support.design.card.MaterialCardView> 你可以使用其中的两个属性进一步设置卡片视图的样式: app:strokeColor: 用于给定的边框的颜色...app:backgroundTint: 用于为视图的背景上色. 如果你想要设置视图的背景颜色, 那么应该用 android:background 属性. 这样会确保视图样式的稳定性.
3、定义了单个元素的点击、长按、选中事件。...;选中方法为setOnItemSelectedListener,选中监听器为OnItemSelectedListener。...该属性在API17后增加,即Android4.2.2以上版本才支持。代码中对应的方法是setTextAlignment。 ListView ListView是列表视图,用于分行显示列表信息。...代码中的方法: setHorizontalSpacing : 设置子视图在水平方向的间距。 setVerticalSpacing : 设置子视图在垂直方向的间距。...GridView偶尔会出现5dp的外边框,原因尚不明,要想去除这个该死的抽风边框,可将listSelector属性设置为@null,估计此问题与点击背景有关。
从0系统学Android--3.7 聊天界面编写 ? 本系列持续更新中…. 3.7 编写界面的最佳实践 前面学习了那么多 UI 开发的知识,下面来进行实践,做一个美观的聊天界面。...首先在 Android Studio 中选中你要变成 nine-patch 的图片,然后右击--->Create 9-Patch file 就可以创建 Nine-Patch 图片了。 ?...我们可以在图片的四个边框绘制一个个的小黑点。在上边框和左边框的部分表示当前图片需要拉伸的时候就会拉伸黑色点标记的区域,在下边框和右边框的部分表示内容会被放置的区域。...用鼠标在图片的边缘拖到就可以进行绘制了。按住 Shift 键拖动可以进行擦除。 再来看看使用 nine-patch 的效果 ? 这样当图片需要拉伸的时候就只拉伸指定区域了。...android:layout_margin="10dp"/> 这里我们把接受消息和发送消息的布局都写进来了,代码中根据消息的类型来调用
RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...是复用的,在RecyclerView中,是把ViewHolder作为缓存的单位了,然后convertView作为ViewHolder的成员变量保持在ViewHolder中,也就是说,假设手机屏幕可显示10...注意的是:RecyclerView不提供ListView中的setOnItemClickListener方法,我们可以在ViewHolder中添加类似的点击事件。...因为我看市面上目前大部分的app都是这样做的,下拉刷新用SwipeRefreshLayout的效果,自己在RecyclerView上添加上拉更多。...第一步:添加布局状态标识,并增加一项FooterView 在adapter中声明布局状态标识,是普通布局还是foot布局 private static final int TYPE_NORMAL_ITEM
在Android中,Span表示一段文本的效果,例如链接形式,图像,带颜色的文本等。 所有的Span类都在android.text.style包中。...---- 为指定文字添加背景 从上面的例子中我们可以总结出 设置字符串中的某个子字符串的样式(变成可单击的链接、设置字体等)步骤如下: 将字符串转换成SpannableString或者SpannableBuilder...对象 获得要设置样式的子字符串在原字符串中的位置和子字符串后面的字符的位置,即start和end 创建一个Span对象(所有android.text.style包中的XXXSpan类创建的对象的统称,XXX...---- 在未显示完的文本后面加省略号(…) 当文本内容太多的时候,控件一行显示不开的时候,系统默认的会在最后显示一个省略号(…) 通过android:ellipsize属性可以设置省略号的位置,当属性值为...=”vertical” : 垂直滚动必须为vertical android:scrollbarStyle=”outsideOverlay” :滚动条在文字的右侧显示。
项目地址 用法 在app的build.grade中加入依赖 dependencies { compile 'com.zhy:flowlayout-lib:1.0.3' } 声明 在布局文件中声明: 的数量 auto_select_effect 是否开启默认的选中效果,即为selector中设置的效果,默认为true;如果设置为false,则无选中效果,需要自己在回调中处理。...,在drawable文件中创建一个selector 的项目中在展示完数据后还可以手动的添加新的标签,此项目没有设置添加新数据的方法.虽然有刷新数据的方法,但是这样之前选中的标签也会一块刷新,也就是等于重置.于是我就结合刷新数据的方法和设置默认选中的方法...item给设置成默认选中的状态 mAdapter.notifyDataChanged(); mAdapter.setSelectedList(selectedList); 此时在添加新数据的同时
移动互联网的发展,方便人们生活的同时,也割裂了人与人在现实世界中的交流,我们似乎缺少了一种能在现实生活中互相交流的手段,而用户对TV的使用习惯恰恰可以帮助人们聚在一起。...当我们需要新建一个TV端工程,或者是修改Phone端的app以使其可以在TV端运行时,需要考虑使用以下组件: Activity for TV (必须的),在你的AndroidMainifest文件中,声明一个在...4.添加Leanback支持库 Leanback风格现在是Google力推的Android TV端的设计风格,大概也是受够了Phone端千奇百怪的应用风格,希望能在TV端走向统一。...6.TV的界面风格 根据艾瑞咨询的统计数据,75%的TV在40寸以上,绝大多数用户会选择在两米以外观看电视,这就决定了TV的界面设计风格:卡片化与焦点态。...国内更常见的风格(以小米盒子为例): ? ? 7.开发与调试工具的选择 Android Studio 目前仍然是Android TV端开发的最好工具。
在5.0中引入的调色板控件,它用于分析一个位图对象的整体色调,最后给出样品的色彩RGB值,这样开发者就可以根据具体图片动态设置整个页面的背景色,从而实现统一的页面风格。...Palette在android-support-v7-palette.jar中定义,同时需要最新的android-support-v4.jar支持。...该方法在onGenerated中调用,返回值是Palette.Swatch样品对象,调用该样品对象的getRgb方法即可获得样品的色彩值。...在5.0中新引入的卡片视图控件,顾名思义它拥有一个卡片式的圆角边框,边框外缘有一圈阴影,边框内缘有一圈空白。...使用CardView之前,要把“sdk\extras\android\support\v7\cardview”导入为一个库工程,并引用到自己的工程中。
刚刚看了一下一个帧布局的简单Android示例,纠结了半天不知道如何将图片加到resource中的drawable中去。 ...比如在一个TestDemo的Res/drawable文件夹中,新添加一张图片资源要如何添加。 ...我直接将图片复制到bin\res\drawable-hdpi或者bin\res\drawable-mdpi中去,然后在eclipse中刷新图片仍然不显示。 ...上网找到了关于加载图片资源的问题解决办法: 直接拷贝需要添加的图片资源,然后在Res/drawable文件夹 右键点击 选择“粘贴”即可把图片拷贝进去。...下面是一个简单的帧布局Android应用实例,实现一只小鸟飞翔的动画效果,参考了《大话企业级Android应用开发实战》15.2.5帧布局(FrameLayout) P110-113页。
下面就是底部的全选了,而这个全选是在MainActivity的,因此也顺便把MainActivity中的其他控件都实例化一下,有的需要添加点击监听。...,增加如下代码: //记录选中店铺的shopid,添加到一个列表中。...,首先遍历选中商品或者店铺添加到临时的店铺和商品列表中,然后分别删除选中的商品。...在MainActivity中增加一个变量 private boolean isHaveGoods = false;//购物车是否有商品 然后在initView中执行完其他代码之后,设置为true,此时购物车是有数据的...先绑定id,然后禁用上拉和下拉动作,之后设置下拉刷新所触发的方法。因为是在initView中添加数据到列表中的,因此我直接调用initView。 ? 然后在数据展示之后关闭刷新并且隐藏空布局。
在GORM中为上百万的数据的表添加索引,如何保证线上的服务尽量少的被影响1. 索引的必要性评估在进行索引的必要性评估时,使用GORM中对字段进行索引的必要性分析和索引的创建。...在电子商务平台的数据库操作中,选择一个数据库访问量较低的时段来创建索引是至关重要的,这样可以最小化对用户体验的影响。...例如,可能发现在凌晨2点到4点之间,用户访问量和数据库操作请求显著减少,这提供了一个理想的时间窗口。在确定了最佳时间窗口后,计划在这个时段为Products表的CategoryID字段添加索引。...优化索引创建语句使用特定的SQL语句优化索引创建过程。例如,在MySQL中,可以添加ALGORITHM=INPLACE和LOCK=NONE选项以减少表的锁定。...例如,在MySQL数据库中,通过添加ALGORITHM=INPLACE和LOCK=NONE选项,可以在创建索引时减少对表的锁定,从而减少对在线服务的影响。7.
在当前 Project 的 settings.gradle 中就会自动生成创建的 Module; Tips: :myview 中的 : 代表的与 app 同级目录下的 Module。 ?...在当前 app 的 build.gradle 中 dependencies{} 中添加 implementation project(':myview') 即可正常接入。 ?...自定义 View 和尚在新建的 Library 中添加一个自定义按钮,可以添加配置图标和文字以及背景样式。...新建一个 MyView 继承自 RelativeLayout,实现基本的构造方法; 在构造方法中实现对布局的添加,控件的绑定以及一些基本的 setXX 方法; 至此 MyView 就可以应用,但所有但属性都需要通过...setXX 方法来设置;这当然是不合理的,于是和尚新建一个 attrs 文件,在资源文件中设置基本的样式,并在 MyView 的 obtainAttributes 方法中逐一绑定即可; <?
改进之后的NFC技术既提高了安全性,又拓宽了应用场合,同时还兼容现有的大部分RFID卡片,因此在智能手机上运用NFC而非RFID也就不足为怪了。...带有NFC功能的手机,在实际生活中主要有三项应用:读卡、写卡、分享内容(两部手机之间传输数据)。...为了能更迅速地了解NFC技术在Android中的开发流程,下面通过相对简单的读卡功能,来介绍如何进行手机App的NFC开发。...另外也需重载onPause函数,在该函数中调用NFC适配器的disableForegroundDispatch方法,表示当前页面在暂停状态之时不再接收NFC感应消息。...于是利用MifareClassic类的相关方法即可获取卡片数据,下面是MifareClassic类的方法说明: get : 从Tag对象中获取卡片对象的信息。该方法为静态方法。
如果不添加其他配置,它们默认是在 RelativeLayout 的左上角。 在 RelativeLayout 中,子 View 可以根据另一个子 View 来确定位置。...有很多布局属性可用于 RelativeLayout 中的视图,部分示例包括: android:layout_alignParentTop 如果为 "true",会将此视图的上边缘与父视图的上边缘对齐。...android:layout_centerVertical 如果为 "true",会将此子级在父级内垂直居中。...android:layout_below 将此视图的上边缘放置在使用资源 ID 指定的视图下方。...子View设置了不同的属性,分布在父View的上下左右中各个地方。
只有在电脑屏幕下,它们的坐标系才是相同的。...const card = document.querySelector('.container'); // 为选中的元素添加鼠标按下事件监听器 card.onmousedown = function...(e) { // 计算鼠标指针在卡片元素上的相对偏移量 const x = e.pageX - card.offsetLeft; const y = e.pageY - card.offsetTop...= clientY + "px"; } // 选择类名为.container 的元素 const card = document.querySelector('.container'); // 为选中的元素添加鼠标按下事件监听器...card.onmousedown = function (e) { // 计算鼠标指针在卡片元素上的相对偏移量 const x = e.pageX - card.offsetLeft; const
这里采用的是《Power BI 多指标加权综合排名》示例,效果如下图所示。最大号的#1#2#3淡色字体为门店的综合排名,接着是门店名称,最后的小字是详情描述。 可以用作卡片图,也可以用作切片器。...放大其中一个看到,边框设计非常有质感: 这种效果不是插入背景图,而是CSS生成。作者为B站UP主艾恩小灰灰,我们可以在Power BI直接应用作者的代码。...首先,新建两个前端度量值,M.CSS用来存放CSS样式代码,M.HTML用来存放模型中需要展示的数据。...CSS在代码作者B站主页复制: https://b23.tv/ZeNsTpT HTML度量值是以下结构,本例为大号淡色字体,展示综合排名,你可以换成任意指标,本例展示店铺名称,...接着,在HTML Content视觉对象如下拖拽字段: Stylesheet拖拽CSS度量值进行样式设置: 以上完成了卡片图设置,如果需要作为切片器使用,打开Cross-filtering:
android:layout_centerVeritical=”true” 画一条黑线 添加控件,高度0.2dp,背景色黑色,左右边距5dp,位于父控件底部 自定义组合View 为了重复利用...,我们把这些放到一个组合的布局文件里面去 在ui包里,新建一个类SetingItemView继承系统的RelativeLayout 实现该类的三个构造方法,在这三个方法里面初始化View对象 调用View.inflate...CheckBox 定义方法isChecked(),检验组合控件是否选中,调用CheckBox对象的isChecked()方法,返回结果 定义方法setChecked(),设置组合控件的选中状态,调用CheckBox...控件对象 调用SetingItemView对象的setOnClickListenner()方法,设置点击事件,在重写的onClick方法里面 调用SetingItemView对象的isChecked()...=(TextView) this.findViewById(R.id.tv_desc); } /** * 判断是否选中 * @return */ public
领取专属 10元无门槛券
手把手带您无忧上云