1.概念及扩展 VideoView 是android 系统提供的一个媒体播放显示和控制的控件.其结构层次如下: 原型:VideoView extends SurfaceView implements MediaController.MediaPlayerControl 类结构: java.lang.Object ↳ android.view.View ↳ android.view.SurfaceView ↳ android.widget.VideoView 通过VideoView 的原型可知:如…
前言 VideoView是Android主要的视频播放View,它其实是对MediaPlayer的再次封装.如果你已经了解过MediaPlayer在使用VideoView是十分简单的.如果你想先了解MediaPlayer可以参考我的博客:https://www.cnblogs.com/guanxinjing/p/11019662.html 在没有复杂的要求下使用VideoView播放视频是十分快速且方便的选择.并且不需要苦恼视频尺寸的计算(说到视频尺寸计算,个人瞎折腾出了一个计算方法.虽然也可以…
VideoView继承自SurfaceView,实现了MediaController.MediaPlayerControl的接口.在android系统中的包名为android.widget.VideoView. VideoView的主要功能是显示一个指定的视频文件.VideoView可以从多个地方载入图片(比如资源或者content provider中). VideoView继承了Android.view.View类中的XML属性.常量.和field(我们常翻译成属性).在VideoView下有…
(1)videoView组件只支持MP4和3gp格式的视屏播放,如果想播放其它视屏格式的文件,还得开发能够播放的视屏播放器 (2)videoView组件功能比较单一,如果想开发功能丰富的播放器,还得重写VideoView组件 (3)videoView的基本用法,首先在布局文件里面添加videoView组件,具体的布局依据自己的需求,由于我这里要用到全屏,所以我重写了videoView组件 package com.wxyz.dengchaoqun.testswf; import android.c…
如果直接用android的videoview.他是不允许你随意的修改宽度和高度的,所以我们要重写videoview! package com.hysmarthotel.view; import android.content.Context;import android.util.AttributeSet;import android.widget.VideoView; public class MyVideoView extends VideoView{ public MyVideoView(…
//android播放视频.用法:于androidManifest.xml添加activity, // <activity android:name=".PlayVideo" // android:label="@string/app_name"> // // </activity> //注意资源路径 //调用时: //Intent intent = new Intent(MainActivity.this, PlayVideo.class)…
View是Android很重要的一部分,常用的View有Button.TextView.EditView.ListView.GridView.各种layout等等,开发者通过对这些View的各种组合以形成丰富多彩的交互界面,一个应用中界面交互的体验往往在应用的受欢迎程度上起了很关键得作用,所以开发者们大多会想方设法的做出一个更加精美的界面,例如:通过自定义View.深入学习View的原理以便更好的对其优化使其在操作起来更加流畅等等,也正因为如此,在面试中View也常常作为面试官重点考察的对象之一…
1.xm文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_paren…
Android开发艺术探索笔记--View(二) View的事件分发机制 学习资料: 1.Understanding Android Input Touch Events System Framework 2.Managing Touch Events in a ViewGroup 3.Android事件传递机制 4.Input Events 5.Mastering the Android Touch System 6.MotionEvent MotionEvent(运动事件)的传递规则 用户每…
Android开发艺术探索笔记 --View(一) View的基础知识 什么是View View是Android中所有控件的基类.是一种界面层控件的抽象. View的位置参数 参数名 获取方式 含义 top getTop() View左上角纵坐标 left getLeft() View左上角横坐标 bottom getBottom() View右下角纵坐标 right getRight() View右下角横坐标 View:x/y getX()/getY() View左上角坐标 translati…
转载 最近做项目的时候遇到一个卡劵的效果,由于自己觉得用图片来做的话可以会出现适配效果不好,再加上自己自定义view方面的知识比较薄弱,所以想试试用自定义View来实现.但是由于自己知识点薄弱,一开始居然想着用画矩形来设置边缘实现,后面一个哥们指导了我,在这里感谢他. 实现分析 上面的图片其实和普通的Linearlayout,RelativeLayout一样,只是上下两边多了类似于半圆锯齿的形状.那么只需要处理不同地方.可以在上下两条线上画一个个白色的小圆来实现这种效果. 假如我们上下线的半圆以…
在Android中动画移动一个View的位置,采用Scroller类实现 今天说最近自己遇到的一个问题,就是要用动画效果来移动一个VIew的位置. 这个具体的情况是,需要做一个SlidingMenu的app,之前找了一个开源的,但不知道为什么,用起来app的运行效率很低,会有卡顿的现象.无奈只要自己写了. SlidingMenu核心的就是可以滑动拉开左侧和右侧的菜单.刚开始考虑用TranslationAnimation来做.不过TranslationAnimation并不是真的移动一个View的…
View是所有控件的一个基类,无论是布局(Layout),还是控件(Widget)都是继承自View类.只不过layout是一个特殊的view,它里面创建一个view的数组可以包含其他的view而已. 这一篇文章把所有的layout和widget都统称为view,那么android是如何创建一个view的呢? 一.在代码中直接new出来. 比如说你要创建一个TextView的实例,那么你可以这样写: TextView text = new TextView(c);  //c为context对象,…
Android支持播放网络上的视频.在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP.这 两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持. Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI. 代码如下: package demo.camera; import android.app.Activity; import android.net.Uri…
事件分发机制是Android中非常重要的一个知识点,同时也是难点,相信到目前为止很多Android开发者对事件分发机制并没有一个非常系统的认识,当然也包括博主个人在内.可能在平时的开发工作中我们并没有意识到事件分发机制起到的作用,其实它是时刻存在的只是我们不知道而已,就像一些滑动冲突.点击事件之间的冲突等等大多是因为事件分发处理不当导致的.想起了博主大学时做过一个小项目,里面就出现了滑动冲突的问题,虽然最后在网上一步步看着别人的教程也糊里糊涂的解决了,但终究不知其所以然,那么今天就让我们一起来深…
在上一篇博文中分析了事件分发的流程及规则,本篇会从源码的角度更进一步理解事件分发机制的原理,如果对事件分发规则还不太清楚的童鞋,建议先看一下上一篇博文 <Android查缺补漏(View篇)--事件分发机制> ,先来看一下本篇的分析思路,一会儿会按照事件传递的顺序,针对以下几点进行源码分析: Activity对点击事件的分发过程 PhoneWindow是如何处理点击事件的 顶级View对点击事件的分发过程 View对点击事件的处理过程 Activity对点击事件的分发过程 通过上一篇博文中我们…
Android游戏开发之旅 View类详解 自定义 View的常用方法: onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发 onSizeChanged(int, int, int, int) 当view的大小发生变化时触发 onDraw(Canvas) view渲染内容的细节 o…
Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满屏幕,因为这两个属性互相冲突以致 RelativeLayout 无法确定自己的尺寸.逻辑性自己想想就明白了. 解决办法是换用 FrameLayout,然后 child view 使用 android:layout_gravity="bottom".…
Android项目刮刮奖详解(四) 前言 我们已经成功实现了刮刮奖的功能了,本期是扩展篇,我们把这个View直接定义成开源控件,发布到JitPack上,以后有需要也可以直接使用,关于自定义控件的知识,不了解的同学可以看这下面我之前写的这两篇 Android 自定义控件 Android开发--发布第三方库到JitPack上 实现 定义属性 text 文字内容 textColor 文字颜色 textSize 文字大小 paintSize 擦除效果的宽度 messageBackground 中奖图片…
原文地址:Android开发 海康视频 多路视频播放 | Stars-One的杂货小窝 最近公司有个项目需要对接到海康监控摄像头来实现对应的实时播放和回放,但这两个不是我们今天要讨论的重点,APP首页,需要实现同时播放两个视频,全网搜集了下,都没有找到相关资源,于是便是自己研究,最终也是成功实现了功能 注:本文是基于海康视频SDK的demo项目进行功能的增加,默认各位研究阅读了海康SDK文档及已成功运行demo程序的前提下 效果图 首先放下效果图吧 上面的右边即是同时播放了两个视频,两个视频都是…
本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.View布局概述 2.线性布局(Linear Layout) 2.1.Tips:android:layout_weight="1" 3.相对布局(Relative Layout) 4.表格布局(Table Layout) 5.列表视图(List View) 5.1.一个小的改进 5.2.补充说明 6.网格视图(Grid View) 7 .绝对布局() 8.标签布局(Tab Layout) 1.view的布局…
以下内容是分析安卓源码所得: 1: 使用默认样式创建View的方式, 源码文件 Button.Java  注:此文参考http://www.linzenews.com/ 中的内容所写,如侵删! 2: 需要声明默认样式的属性, 源码文件 attrs.xml  3:创建默认样式, 源码文件 styles.xml  4:在APP主题中,引用默认样式 themes.xml (注意这步不能忘记)  源码分析结束. 以下是我个人的使用经验: 1:主题中引用 radioButton样式  2:声明默认样式属性…
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46695347: 本文出自:[张鸿洋的博客] 一.概述 周末游戏打得过猛,于是周天熬夜码代码,周一早上浑浑噩噩的发现android-percent-support-lib-sample这个项目,Google终于开始支持百分比的方式布局了,瞬间脉动回来,啊咧咧.对于这种历史性的时刻,不出篇博客难以表达我内心的激动. 还记得不久前,发了篇博客:Android 屏幕适配方案,这篇博客…
TBS视频播放 TBS视频播放器可以支持市面上几乎所有的视频格式,包括mp4, flv, avi, 3gp, webm, ts, ogv, m3u8, asf, wmv, rm, rmvb, mov, mkv等18种视频格式.同时支持硬件解码,使得内存占用,稳定性相较于系统播放器都更优. 接入TBS 1.导入jar文件和so文件 官网SDK下载地址:https://x5.tencent.com/tbs/sdk.html,示例中有jar文件和so文件,具体导入方式我上一篇文章有详细介绍(Andro…
前沿 Android 从5.0开始引入了Material design元素的设计,这种新的设计语言让整个安卓的用户体验焕然一新,google在Android Design Support Library中封装了一些重要的material design控件,在这之前其实github上也已经出现了许多各种各样的material design 控件,只不过现在google把有些控件标准化了,注意这个Android Design Support Library和Android Support Libra…
自己保留备份,增强记忆   这是video的类 public class VideoActivity extends Activity { /** * 解析网络页面 */ private WebView wv; /** * 进度条类 */ private ProgressDialog pd; /** * 异步处理消息 */ private Handler handler; private static final int SHOW = 0; private static final int HI…
分类:C#.Android.VS2015: 创建日期:2016-03-11 一.简介 本节例子和上一节的音频播放例子相似,也是最简单的示例,比如并没有考虑视频播放过程中电话打入的情况,也没有考虑复杂的控制.总之,如果你希望进一步学习复杂的例子,首先要先把最核心的简单例子搞明白,否则你连基本的设计思路都不知道,直接看复杂的例子或者实际项目中的代码肯定"事倍功半",主要原因是你做不到举一反三,只会照搬,稍微让你修改一下功能你就晕了. 实现视频播放的常见方式有: 1.用VideoView和M…
1.案例一 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" androi…
GridView 可以指定显示的条目的列数. listview一般显示的条目的列数都是一列 如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView android:numColumns="auto_fit" //GridView的列数设置为自动 GridView和ListView 都是实现了AbsListView,他们用了相同的RecycleBin机制进行优化,他们基本类似,只是一些方法的实现不太一样而已 而GridView和ListView…
零.序 一.自定义Style 二.在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定 三.在运行时获取属性值 1. View的第三个构造函数的第三个参数defStyle 2. obtailStyledAttributes 3. Example 四.结论与代码下载 零.序 系统自带的View可以在xml中配置属性,对于写的好的Custom View同样可以在xml中配置属性,为了使自定义的View的属性可以在xml中配置,需要以下4个步骤:…