前面呢,有写过TabLayout的博客,最近开发用到了高本版遇到一些问题,来总结一下 Android--------TabLayout实现新闻客户端顶部导航栏 Android中Tablayout设置下划线宽度 和 dp和px之间进行相互转换 上面是Api28版本之前是没问题的 api28之后呢,有些地方就有所改变了 public static void reflex(final TabLayout tabLayout){ tabLayout.post(() -> { try { //拿到tabL…
在android开发中 EditTextText是我们经常用到的,我们使用时会有一些小问题,当我们点击输入文字时,EditText中的光标和下划线会变成粉红色. 解决方法很简单,我们只要在EditText中添加几个两个属性即可, 光标颜色的属性为 : 1 android:textCursorDrawable="@null" 当值为@null时,颜色与textcolor一致,可以自己修改颜色. 去除下划线为: android:background="@null" 一般…
默认图: 效果图: 项目中使用到需要像今日头条那种实现顶部横向滑动标题功能,本人项目中使用TabLayout+ViewPager实现,但是,实现后默认的TabLayout间距特别大,并且下划线,文字大小等很难实现,百度查阅了好多资料,并不好使,最后才发现,其实特别简单,只是细节而已: 1.设置TabLayout中各个条目之间的间距,利用app:tabPaddingEnd="10dp"和app:tabPaddingStart="10dp"即可实现,但是,在实际显示中,…
如何给TextView添加下划线呢,最近项目中需要这个,于是就用代码添加了下划线功能.主要就是用Paint的setFlags方法来实现,具体如下: ((TextView)mScrollView.findViewById(R.id.refresh)).getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); 就是获取TextView,然后获取Paint,再用Paint提供的setFlags方法设置下划线,该方法还可以设置其他的属性,比如颜色等…
实现下划线及颜色设置: public class AtActivity extends Activity { LinearLayout ll;     /** Called when the activity is first created. */     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setC…
开发中遇到了一个问题,Tablayout设置下换线长度,看了点资料,分享给大家. 效果图:               直接贴代码(要在tabLayout添加完所有的tab后调用) public void reflex(final TabLayout tabLayout){ //了解源码得知 线的宽度是根据 tabView的宽度来设置的 tabLayout.post(new Runnable() { @Override public void run() { try { //拿到tabLayou…
解决方案1: 更新design库到28.0.0-rc01 implementation 'com.android.support:design:28.0.0-rc01' 然后在TabLayout里设置如下属性即可 app:tabIndicatorFullWidth="false" 解决方案2: 使用反射这个方法网上很多例子,自己找,只是反射的参数mTabStrip也改成了slidingTabIndicator,再使用mTabStrip会报空指针 · 此方法会导致字号设置无效…
Android 版本更替,新的版本带来新的特性,新的方法. 新的方法带来许多便利,但无法在低版本系统上运行,如果兼容性处理不恰当,APP在低版本系统上,运行时将会crash. 本文以一个具体的例子说明如何在使用高API level的方法时处理好兼容性问题. 例子:根据给出路径,获取此路径所在分区的总空间大小. 在安卓中的文件存储使用参考中提到: 获取文件系统用量情况,在API level 9及其以上的系统,可直接调用File对象的相关方法,以下需自行计算 一般实现 就此需求而言,API leve…
前言:为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响. 因此在Android P 使用HttpUrlConnectio…
EditText的background属性设置为@null就搞定了:android:background="@null"style属性倒是可加可不加 附原文:@SlumberMachine, that's a great observation! But, it seems that there is more to making a TextView editable than just setting android:editable="true". It ha…
Chronometer计时器 常用的方法 getBase() 基准时间 setFormat 设置显示格式 start() 开始计时 stop() 停止计时 setOnChronometerListener 计时改变的监听事件  <uses-permission android:name="android.permission.VIBRATE"></uses-permission> 获取震权限 <!--xml代码--><LinearLayout…
Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-declared receivers. If your app targets Android 8.0 or higher, you cannot use the manifest to declare a receiver for most implicit broadcasts (broadcast…
采用TabHost布局时,往往会发现默认的系统风格与软件风格很不协调,比如TabWidget的下划线影响布局效果.通常情况下会去除其下划线.如果是采用xml布局文件,在TabWidget的属性项设置android:tabStripEnabled=”false”(经测试发现,这个属性是在2.2版本以上才能使用),这样能达到去除下划线的目的. 但是如果使用代码去除下划线,情况就比较复杂,就需要根据不同的版本去除下划线.如果是2.2,2.3版本,去除下划线只需要调用一个方法:tabWidget.set…
1.removeClippedSubviews 用于提升大列表的滚动性能.需要给行容器添加样式overflow:’hidden’.(Android已默认添加此样式)此属性默认开启 这个属性是因为在早期 ListView 在数据到达一定程度的时候就会越来越卡,最终导致 APP 崩溃退出,使用这个属性后 APP 崩溃确实在一定程度上得到缓解,但是卡顿问题还是依旧存在. 废了这么多话,这边我们就先来使用一下 removeClippedSubviews ,很简单,使用它只需要在我们封装的 cell 中的…
我们知道,在布局文件中设置textview的autolink及其类型,这时textivew上会显示link的颜色,并且文字下面会有一条下划线,表示可以点击.而在我们在点击textview时,应用将根据我们所设置的类型跳转到对应的界面.但是有时,我们因界面需求,需要去掉界面上显示的下划线,并保持功能不变. 如果已经设置了autolink,那么在textview当中再去设置TextPaint为无下划线是无效的,我们可以看URLSpan所继承的类ClickableSpan类的源码,如下: public…
XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" androi…
首先就是去framework下去找与之相关的theme属性 最开始的时候,直接找的是<item name="datePickerStyle">@style/Widget.Funui.DatePicker</item> ,但是,往父类里面找的话,并没有找到有效属性,仅仅就有一个布局 <item name="android:internalLayout">@android:layout/date_picker_holo</ite…
观看幕课网的视频的收获 “layout_”下划线开头的属性都是交给父容器去处理的属性,如: android:layout_width="match_parent" android:layout_height="match_parent" 没有layout_”下划线开头的属性都是本身的属性,如: android:background="#00ff00" android:visibility="gone"…
/* <div class="text">header</div> */ .text { /* 作用元素 */ display: inline-block; position: relative; padding: 10px 0; } .text:after { /* 下划线伪元素 */ display: block; content: ''; /* 控制下划线动画起始位置 */ position: absolute; left: 0; right: 0; ma…
在使用TabLayout的过程中,为每个标签添加一个 下划线,但发现每个下划线的 宽度 都是一样的,例如会如下显示 这样很难看,所以必须进行调整后的效果如下: 看,这样不是非常和谐啦!~~ 实现方法很简单,只需要用反射重写一些 TabLayout 就行! 我这里干脆做成了一个Util类 TabLayoutUtil .java ,代码如下: package com.jack.appnews.util; import android.support.design.widget.TabLayout;…
目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:scrollbars="vertical" android:layout_width="match_…
在安卓高版本,默认是有下划线的,其默认下划线的颜色是由其主题颜色来控制的! 控制如下: <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item>…
(一)问题 之前的自定义EditText只能显示高度不超过屏幕高度的文本内容,继续增加内容会出现如下问题: (二)原因分析 下部(超出屏幕高度的部分)没有继续画线,也就是说横线没有画够,那么一定是循环控制部分出了问题. (三)如何解决 1.怎么才能做到每行文字下方都有一条线? 那么首先需要获取文本的行数用EditText.getLineCount();再按行画线即可 2.怎么确定横线的位置? Y = EditText.getPaddingTop() + EditText.getLineHeigh…
项目要求: 笔者曾经做过一个项目,其中登录界面的交互令人印象深刻.交互设计师给出了一个非常作的设计,要求做出包含根据情况可变色的下划线,左侧有可变图标,右侧有可变删除标志的输入框,如图 记录制作过程: 第一版本 public class LineEditText extends EditText { private Paint mPaint; private int color; public static final int STATUS_FOCUSED = 1; public static…
text去掉乱码 设置不同颜色 行高 自定义大小 #import <Foundation/Foundation.h> @interface TextsForRow : NSObject @property(nonatomic,copy)NSString * string; /** 文本包含了 标题+文本. 使用前设置内容的颜色 操作中:标题设置颜色.文本颜色 标题+文本字体大小 行间距 以及返回高度 @param stringTitle title文本 @param colorTitle ti…
之前写了一个关于实现EditText显示下划线的例子,发现仍然存在一些问题,在此继续探索,原文链接:http://www.cnblogs.com/ayqy/p/3599414.html (零)另一个bug 如果发现画不出线,那么可能是canvas.drawLine方法最后一个参数paint的线宽的bug,Android2.3.5中线宽为0.5可以正常画线,Android4.2.2中线宽为0.5无法画线,具体如下: /**注意线宽,Android2.3.5中线宽为0.5可以正常画线,Android…
沉浸式状态栏确切的说应该叫做透明状态栏.一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明. 沉浸式状态栏是从android Kitkat(Android 4.4)开始出现的,它可以被设置成与APP顶部相同的颜色,这就使得切换APP时,整个界面就好似切换到了与APP相同的风格样式一样.在内容展示上会显得更加美观. 功能:本博客主要说的是,效果如图: 测试时,低版本高版本都是可行的. 代码: 父类Activity /** * Created by zq on 16/1…
Android N 已经出来,有了好大的变化,对于我们开发者来说,最大的影响莫过于**NDK**相关东西. 以下是在中国谷歌开发者社区看到的.里面有好多的变化,欢迎大家来讨论. 发布人:开发顾问 Dmitry Malykhanov 受 Android 平台其他改进的影响,为了方便加载本机代码,Android M 和 N 中的动态链接器对编写整洁且跨平台兼容的本机代码提出了更严格的要求.为了确保平滑过渡到近期发布的 Android 版本,应用的本机代码必须遵循这些规则和建议. 我们在下面详细说明了…
开始还以为是TabLayout在高版本系统上的特殊表现呢,没有在意,UI提出说感觉不好看就查了一下,原来是在TabLayout放在AppBarLayout里面才有这样的效果,只需要对AppBarLayout设置一个属性: app:elevation=”0dp” <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wra…
总结起来大概有5种做法:  1. 将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化)   2. 当文字中出现URL.E-mail.电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是android:autoLink="all",当然也可以在java代码里 做,textView01.setAutoLinkMask(Linkify.ALL);    3. 用Html类的fromHtml()方…