iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android自定义水平或垂直虚线效果
  • 624
分享到

Android自定义水平或垂直虚线效果

android虚线roi 2023-05-31 00:05:49 624人浏览 泡泡鱼
摘要

项目中有时候会用到虚线,怎么办?drawable下创建一个shape类型的xml文件绘制,然后引用到view的background下?如果用到虚线的地方很多呢?创建多个,分别引用?横向的还好说,竖向的呢?垂直的虚线,普通的创建是显示不出来的

项目中有时候会用到虚线,怎么办?drawable下创建一个shape类型的xml文件绘制,然后引用到view的background下?如果用到虚线的地方很多呢?创建多个,分别引用?横向的还好说,竖向的呢?垂直的虚线,普通的创建是显示不出来的,如果需要,就要进行旋转等的操作。但是,还是那个问题,需要很多个怎么办?挨个创建?

完全没必要,写个自定义,对外暴露设置虚线属性的方法就行。源码如下:

最后的说明很重要!!!
最后的说明很重要!!!
最后的说明很重要!!!

效果图:

Android自定义水平或垂直虚线效果

源码:

ImaginaryLineView

package com.chen.demo;import Android.content.Context;import android.graphics.canvas;import android.graphics.DashPathEffect;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PathEffect;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.view.View;public class ImaginaryLineView extends View { private Context ct; private Paint mPaint; private Path mPath; private PathEffect effects; private int width; private int height; private int defaultColor=0xffff0000; public ImaginaryLineView(Context context) { this(context, null); } public ImaginaryLineView(Context context, @Nullable AttributeSet attrs) { this(context, attrs, -1); } public ImaginaryLineView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); ct = context; init(); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); width = w; height = h; } private void init() { //初始化,并打开抗锯齿 mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setStyle(Paint.Style.STROKE); mPaint.setColor(defaultColor); mPaint.setStrokeWidth(dip2px(ct, 1)); mPath = new Path(); //数组含义:里面最少要有2个值,值的个数必须是偶数个。偶数位(包含0),表示实线长度,奇数位表示断开的长度 effects = new DashPathEffect(new float[]{4, 2}, 0); }  public void setLineAttribute(int color, float lineWidth,float[] f) { if (color == 0) {  color = defaultColor; } if (lineWidth == 0) {  lineWidth = 1; } if(f==null){  f=new float[]{4,2}; } effects = new DashPathEffect(f, 0); mPaint.setStrokeWidth(dip2px(ct, lineWidth)); mPaint.setColor(color); invalidate(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //定义起点 mPath.moveTo(0, 0); //定义终点 if(width>height){  //宽度比高度大,是横线  mPath.lineTo(width, 0); }else{  //竖线。(根据实际情况,这里不考虑宽高相等情况)  mPath.lineTo(0, height); } mPaint.setPathEffect(effects); canvas.drawPath(mPath, mPaint); } private static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); }}

--结束END--

本文标题: Android自定义水平或垂直虚线效果

本文链接: https://www.lsjlt.com/news/222310.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android自定义水平或垂直虚线效果
    项目中有时候会用到虚线,怎么办?drawable下创建一个shape类型的xml文件绘制,然后引用到view的background下?如果用到虚线的地方很多呢?创建多个,分别引用?横向的还好说,竖向的呢?垂直的虚线,普通的创建是显示不出来的...
    99+
    2023-05-31
    android 虚线 roi
  • Android RecyclerView实现水平、垂直方向分割线
    android RecyclerView不像过去的ListView那样随意的设置水平方向的分割线,如果要实现RecyclerView的水平/垂直分割线,则需要继承自RecyclerView.ItemDecoration重写getItemOf...
    99+
    2023-05-30
    android recyclerview 分割线
  • Android自定义View实现水波纹效果
    介绍:水波纹散开效果的控件在 App 里面还是比较常见的,例如 网易云音乐歌曲识别,附近搜索场景。看下实现的效果:实现思路: 先将最大圆半径与最小圆半径间距分成几等份,从内到外,Paint 透明度依次递减,绘制出同心圆,然后不断的改变这些同...
    99+
    2023-05-30
    android view 水波纹
  • CSS中translate实现水平垂直居中效果的方法
    这篇“CSS中translate实现水平垂直居中效果的方法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“CSS中translate实现水平垂直居中效果的方法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处...
    99+
    2023-06-08
  • Android 自定义view实现水波纹动画效果
    在实际的开发中,很多时候还会遇到相对比较复杂的需求,比如产品妹纸或UI妹纸在哪看了个让人兴奋的效果,兴致高昂的来找你,看了之后目的很明确,当然就是希望你能给她;在这样的关键时候,身子板就一定得硬了,可千万别说不行,爷们儿怎么能说不行呢;好了...
    99+
    2023-05-31
    android 水波纹 roi
  • Android自定义View实现水波纹扩散效果
    目录1、创建RippleView.class, 继承与View1.1特殊属性解释 1.2新建attrs.xml文件(res/values)1.3初始化画笔2、开始绘制onD...
    99+
    2024-04-02
  • bootstrap模态框如何实现水平垂直居中显示效果
    这篇文章主要介绍了bootstrap模态框如何实现水平垂直居中显示效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  ...
    99+
    2024-04-02
  • Android自定义日历效果
    要实现Android自定义日历效果,可以按照以下步骤进行:1. 创建一个自定义的CalendarView控件,继承自ViewGrou...
    99+
    2023-08-15
    Android
  • DIV中如何使用css实现​图片垂直、水平居中效果
    小编给大家分享一下DIV中如何使用css实现图片垂直、水平居中效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在DIV中图片垂...
    99+
    2024-04-02
  • Android自定义加载框效果
    本文实例为大家分享了Android自定义加载框效果的具体代码,供大家参考,具体内容如下 效果图 菊花图标(mipmap-xxhdpi) 加载框圆角背景drawable <...
    99+
    2024-04-02
  • Android自定义轮播图效果
    本文实例为大家分享了Android自定义轮播图效果的具体代码,供大家参考,具体内容如下 概述 1、写一个布局,其中有ViewPager,TextView,LinearLayout. ...
    99+
    2024-04-02
  • Android自定义弹框Dialog效果
    本文实例为大家分享了Android自定义弹框Dialog效果的具体代码,供大家参考,具体内容如下 1.dialog_delete.xml <xml version=...
    99+
    2024-04-02
  • Android中怎么自定义水平渐变进度条
    本篇文章给大家分享的是有关Android中怎么自定义水平渐变进度条,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体实现:新建类,继承自View,在onDraw中进行绘制:im...
    99+
    2023-05-30
    android
  • Android自定义弹出框dialog效果
    项目要用到弹出框,还要和苹果的样式一样(Android真是没地位),所以就自己定义了一个,不是很像(主要是没图),但是也还可以。废话不多说了,直接上代码先看布局文件<?xml version="1.0" encoding="u...
    99+
    2023-05-31
    android 弹出框 dialog
  • Android自定义悬浮按钮效果
    本文实例为大家分享了Android自定义悬浮按钮效果的具体代码,供大家参考,具体内容如下 以下:内容没有参考,写的也是一个比较简单的例子,主要就是应用切换前后台时会显示/隐藏悬浮窗。...
    99+
    2024-04-02
  • Android自定义弹窗提示效果
    本文实例为大家分享了Android 自定义弹窗提示的具体代码,供大家参考,具体内容如下 Java文件: private void showSetDeBugDialog() { ...
    99+
    2024-04-02
  • Android studio自定义对话框效果
    本文实例为大家分享了Android studio自定义对话框效果的具体代码,供大家参考,具体内容如下 实现步骤: 第一步:自定义.xml布局文件 <?xml ver...
    99+
    2024-04-02
  • Android怎么自定义日历效果
    要自定义Android日历效果,可以使用Android中的CalendarView或者自定义View来实现。以下是一种简单的自定义日...
    99+
    2023-08-16
    Android
  • Android 通过自定义view实现水波纹效果案例详解
    在实际的开发中,很多时候还会遇到相对比较复杂的需求,比如产品妹纸或UI妹纸在哪看了个让人兴奋的效果,兴致高昂的来找你,看了之后目的很明确,当然就是希望你能给她; 在这样的关键时候,身...
    99+
    2024-04-02
  • Android中怎么自定义一个垂直拖动seekbar进度条
    Android中怎么自定义一个垂直拖动seekbar进度条,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。package com.example.hellovert...
    99+
    2023-05-30
    android seekbar
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作