




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】android如何实现仿QQ动态背景、视频背景
在下给大家分享一下android如何实现仿QQ动态背景、视频背景,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果如下:
如上图类似效果图:1,自定义视频类继承VideoView
public
class
CustomVideoView
extends
VideoView
{
public
CustomVideoView(Context
context)
{
super(context);
}
public
CustomVideoView(Context
context,
AttributeSet
attrs)
{
super(context,
attrs);
}
public
CustomVideoView(Context
context,
AttributeSet
attrs,
int
defStyle)
{
super(context,
attrs,
defStyle);
}
@Override
protected
void
onMeasure(int
widthMeasureSpec,
int
heightMeasureSpec)
{
//我们重新计算高度
int
width
=
getDefaultSize(0,
widthMeasureSpec);
int
height
=
getDefaultSize(0,
heightMeasureSpec);
setMeasuredDimension(width,
height);
}
@Override
public
void
setOnPreparedListener(MediaPlayer.OnPreparedListener
l)
{
super.setOnPreparedListener(l);
}
@Override
public
boolean
onKeyDown(int
keyCode,
KeyEvent
event)
{
return
super.onKeyDown(keyCode,
event);
}
}MainActivity中:public
class
MainActivity
extends
AppCompatActivity
implements
View.OnClickListener
{
private
CustomVideoView
videoview;
private
Button
btn_enter;
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
//
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
}
/**
*
初始化
*/
private
void
initView()
{
btn_enter
=
(Button)
findViewById(R.id.btn_enter);
btn_enter.setOnClickListener(this);
videoview
=
(CustomVideoView)
findViewById(R.id.videoview);
videoview.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.shipin2));
//播放
videoview.start();
//循环播放
videoview.setOnCompletionListener(new
MediaPlayer.OnCompletionListener()
{
@Override
public
void
onCompletion(MediaPlayer
mediaPlayer)
{
videoview.start();
mediaPlayer.setOnInfoListener(new
MediaPlayer.OnInfoListener()
{
@Override
public
boolean
onInfo(MediaPlayer
mp,
int
what,
int
extra)
{
return
false;
}
});
}
});
}
@Override
public
void
onClick(View
view)
{
switch
(view.getId()){
case
R.id.btn_enter:
Toast.makeText(this,"登录成功了",Toast.LENGTH_SHORT).show();
break;
}
}
//返回重启加载
@Override
protected
void
onRestart()
{
super.onRestart();
initView();
}
//防止锁屏或者切出的时候,音乐在播放
@Override
protected
void
onStop()
{
super.onStop();
videoview.stopPlayback();
}
}读取视频的问题:把视频放到和res/raw文件夹里面了布局文件中:
<?xml
version="1.0"
encoding="utf-8"?>
<FrameLayout
xmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!--CustomVideoView
自定义视频类的位置-->
<application1.applicationlong.CustomVideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="38dp"
android:layout_marginRight="38dp"
android:layout_marginTop="70dp"
android:orientation="vertical">
<EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:background="@null"
android:digits="0123456789"
android:gravity="center_vertical"
android:hint="请输入手机号"
android:inputType="number"
android:maxLength="11"
android:maxLines="1"
android:paddingLeft="5dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="18sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:background="@color/black"/>
<EditText
android:id="@+id/et_pwd"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@null"
android:gravity="center_vertical"
android:hint="请输入密码"
android:inputType="textPassword"
android:maxLength="11"
android:maxLines="1"
android:paddingLeft="5dp"
android:textColor="@android:color/white"
android:textColorHint="@android:color/white"
android:textSize="18sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:background="@color/black"/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="23dp"
android:layout_marginRight="23dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:text="快速注册"
android:textColor="@color/green"/>
<TextView
android:id="@+id/tv_find_pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:gravity="right"
android:padding="15dp"
android:text="忘记密码?"
android:textColor="@color/green"/>
</RelativeLayout>
<Button
android:id="@+id/btn_enter"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="20dp"
android:background="@color/darkseagreen"
android:text="登录"
android:textColor="@color/white"
android:textSize="18dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:paddingBottom="30dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="90dp"
android:gravity="center"
android:text="使用第三方登录"
android:textColor="@color/white"
android:textSize="16dp"
android:visibility="visible"/>
<LinearLayout
android:layout_width="match_parent"
android:la
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 放射性废物玻璃固化创新-洞察阐释
- 基于注意力机制的语义理解-洞察阐释
- 半翅目害虫生物防治中的互利共生关系研究-洞察阐释
- 虚拟货币交易中的风险管理与传统金融的互补性研究-洞察阐释
- 跨平台适配性优化的虚拟现实插件框架研究-洞察阐释
- 咨询行业信息化建设-洞察阐释
- 职业技能培训实训基地管理制度
- 药物研发仪器设备管理制度
- 设计公司高管日常管理制度
- 车间环境监控设备管理制度
- 临商银行股份有限公司招聘笔试真题2024
- 近代史第三章试题及答案
- (完整版)社区工作者考试题含完整答案
- 地理●甘肃卷丨2024年甘肃省普通高中学业水平等级性考试高考地理真题试卷及答案
- 2025年中考英语考前冲刺押题模拟试卷 3套(含答案)
- 吊装-运输方案(3篇)
- 【8道期末】安徽省芜湖市无为市2023-2024学年八年级下学期期末道德与法治试题(含解析)
- 2025年广西文化和旅游厅所属事业单位招聘考试备考题库
- 《数字孪生技术与应用》课件
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读
- 土木工程力学(本)-001-国开机考复习资料
评论
0/150
提交评论