Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
ijkplayer
提交
4c3787dc
I
ijkplayer
项目概览
NotesChapter
/
ijkplayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
ijkplayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4c3787dc
编写于
6月 05, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ijkmediawidget: license files
上级
01ebb322
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
145 addition
and
144 deletion
+145
-144
ijkmediawidget/src/tv/danmaku/ijk/media/widget/CenterLayout.java
...awidget/src/tv/danmaku/ijk/media/widget/CenterLayout.java
+0
-2
ijkmediawidget/src/tv/danmaku/ijk/media/widget/MediaController.java
...dget/src/tv/danmaku/ijk/media/widget/MediaController.java
+0
-2
ijkmediawidget/src/tv/danmaku/ijk/media/widget/OutlineTextView.java
...dget/src/tv/danmaku/ijk/media/widget/OutlineTextView.java
+144
-137
ijkmediawidget/src/tv/danmaku/ijk/media/widget/VideoView.java
...ediawidget/src/tv/danmaku/ijk/media/widget/VideoView.java
+1
-3
未找到文件。
ijkmediawidget/src/tv/danmaku/ijk/media/widget/CenterLayout.java
浏览文件 @
4c3787dc
/*
* Copyright (C) 2012 YIXIA.COM
* Copyright (C) 2013 Zhang Rui <bbcallen@gmail.com>
*
* Based on https://github.com/yixia/VitamioBundle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
ijkmediawidget/src/tv/danmaku/ijk/media/widget/MediaController.java
浏览文件 @
4c3787dc
...
...
@@ -2,8 +2,6 @@
* Copyright (C) 2006 The Android Open Source Project
* Copyright (C) 2012 YIXIA.COM
* Copyright (C) 2013 Zhang Rui <bbcallen@gmail.com>
*
* Based on https://github.com/yixia/VitamioBundle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
ijkmediawidget/src/tv/danmaku/ijk/media/widget/OutlineTextView.java
浏览文件 @
4c3787dc
/*
* Copyright (C) 2011 Cedric Fung (wolfplanet@gmail.com)
* Copyright (C) 2013 Zhang Rui <bbcallen@gmail.com>
*
* Based on https://github.com/yixia/VitamioBundle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -37,139 +35,148 @@ import android.widget.TextView;
*/
@SuppressLint
(
"DrawAllocation"
)
public
class
OutlineTextView
extends
TextView
{
public
OutlineTextView
(
Context
context
)
{
super
(
context
);
initPaint
();
}
public
OutlineTextView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
initPaint
();
}
public
OutlineTextView
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
initPaint
();
}
private
void
initPaint
()
{
mTextPaint
=
new
TextPaint
();
mTextPaint
.
setAntiAlias
(
true
);
mTextPaint
.
setTextSize
(
getTextSize
());
mTextPaint
.
setColor
(
mColor
);
mTextPaint
.
setStyle
(
Paint
.
Style
.
FILL
);
mTextPaint
.
setTypeface
(
getTypeface
());
mTextPaintOutline
=
new
TextPaint
();
mTextPaintOutline
.
setAntiAlias
(
true
);
mTextPaintOutline
.
setTextSize
(
getTextSize
());
mTextPaintOutline
.
setColor
(
mBorderColor
);
mTextPaintOutline
.
setStyle
(
Paint
.
Style
.
STROKE
);
mTextPaintOutline
.
setTypeface
(
getTypeface
());
mTextPaintOutline
.
setStrokeWidth
(
mBorderSize
);
}
public
void
setText
(
String
text
)
{
super
.
setText
(
text
);
mText
=
text
.
toString
();
requestLayout
();
invalidate
();
}
public
void
setTextSize
(
float
size
)
{
super
.
setTextSize
(
size
);
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTextColor
(
int
color
)
{
super
.
setTextColor
(
color
);
mColor
=
color
;
invalidate
();
initPaint
();
}
public
void
setShadowLayer
(
float
radius
,
float
dx
,
float
dy
,
int
color
)
{
super
.
setShadowLayer
(
radius
,
dx
,
dy
,
color
);
mBorderSize
=
radius
;
mBorderColor
=
color
;
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTypeface
(
Typeface
tf
,
int
style
)
{
super
.
setTypeface
(
tf
,
style
);
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTypeface
(
Typeface
tf
)
{
super
.
setTypeface
(
tf
);
requestLayout
();
invalidate
();
initPaint
();
}
@Override
protected
void
onDraw
(
Canvas
canvas
)
{
Layout
layout
=
new
StaticLayout
(
getText
(),
mTextPaintOutline
,
getWidth
(),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
layout
.
draw
(
canvas
);
layout
=
new
StaticLayout
(
getText
(),
mTextPaint
,
getWidth
(),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
layout
.
draw
(
canvas
);
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
Layout
layout
=
new
StaticLayout
(
getText
(),
mTextPaintOutline
,
measureWidth
(
widthMeasureSpec
),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
int
ex
=
(
int
)
(
mBorderSize
*
2
+
1
);
setMeasuredDimension
(
measureWidth
(
widthMeasureSpec
)
+
ex
,
measureHeight
(
heightMeasureSpec
)
*
layout
.
getLineCount
()
+
ex
);
}
private
int
measureWidth
(
int
measureSpec
)
{
int
result
=
0
;
int
specMode
=
MeasureSpec
.
getMode
(
measureSpec
);
int
specSize
=
MeasureSpec
.
getSize
(
measureSpec
);
if
(
specMode
==
MeasureSpec
.
EXACTLY
)
{
result
=
specSize
;
}
else
{
result
=
(
int
)
mTextPaintOutline
.
measureText
(
mText
)
+
getPaddingLeft
()
+
getPaddingRight
();
if
(
specMode
==
MeasureSpec
.
AT_MOST
)
{
result
=
Math
.
min
(
result
,
specSize
);
}
}
return
result
;
}
private
int
measureHeight
(
int
measureSpec
)
{
int
result
=
0
;
int
specMode
=
MeasureSpec
.
getMode
(
measureSpec
);
int
specSize
=
MeasureSpec
.
getSize
(
measureSpec
);
mAscent
=
(
int
)
mTextPaintOutline
.
ascent
();
if
(
specMode
==
MeasureSpec
.
EXACTLY
)
{
result
=
specSize
;
}
else
{
result
=
(
int
)
(-
mAscent
+
mTextPaintOutline
.
descent
())
+
getPaddingTop
()
+
getPaddingBottom
();
if
(
specMode
==
MeasureSpec
.
AT_MOST
)
{
result
=
Math
.
min
(
result
,
specSize
);
}
}
return
result
;
}
private
TextPaint
mTextPaint
;
private
TextPaint
mTextPaintOutline
;
private
String
mText
=
""
;
private
int
mAscent
=
0
;
private
float
mBorderSize
;
private
int
mBorderColor
;
private
int
mColor
;
private
float
mSpacingMult
=
1.0f
;
private
float
mSpacingAdd
=
0
;
private
boolean
mIncludePad
=
true
;
public
OutlineTextView
(
Context
context
)
{
super
(
context
);
initPaint
();
}
public
OutlineTextView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
initPaint
();
}
public
OutlineTextView
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
initPaint
();
}
private
void
initPaint
()
{
mTextPaint
=
new
TextPaint
();
mTextPaint
.
setAntiAlias
(
true
);
mTextPaint
.
setTextSize
(
getTextSize
());
mTextPaint
.
setColor
(
mColor
);
mTextPaint
.
setStyle
(
Paint
.
Style
.
FILL
);
mTextPaint
.
setTypeface
(
getTypeface
());
mTextPaintOutline
=
new
TextPaint
();
mTextPaintOutline
.
setAntiAlias
(
true
);
mTextPaintOutline
.
setTextSize
(
getTextSize
());
mTextPaintOutline
.
setColor
(
mBorderColor
);
mTextPaintOutline
.
setStyle
(
Paint
.
Style
.
STROKE
);
mTextPaintOutline
.
setTypeface
(
getTypeface
());
mTextPaintOutline
.
setStrokeWidth
(
mBorderSize
);
}
public
void
setText
(
String
text
)
{
super
.
setText
(
text
);
mText
=
text
.
toString
();
requestLayout
();
invalidate
();
}
public
void
setTextSize
(
float
size
)
{
super
.
setTextSize
(
size
);
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTextColor
(
int
color
)
{
super
.
setTextColor
(
color
);
mColor
=
color
;
invalidate
();
initPaint
();
}
public
void
setShadowLayer
(
float
radius
,
float
dx
,
float
dy
,
int
color
)
{
super
.
setShadowLayer
(
radius
,
dx
,
dy
,
color
);
mBorderSize
=
radius
;
mBorderColor
=
color
;
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTypeface
(
Typeface
tf
,
int
style
)
{
super
.
setTypeface
(
tf
,
style
);
requestLayout
();
invalidate
();
initPaint
();
}
public
void
setTypeface
(
Typeface
tf
)
{
super
.
setTypeface
(
tf
);
requestLayout
();
invalidate
();
initPaint
();
}
@Override
protected
void
onDraw
(
Canvas
canvas
)
{
Layout
layout
=
new
StaticLayout
(
getText
(),
mTextPaintOutline
,
getWidth
(),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
layout
.
draw
(
canvas
);
layout
=
new
StaticLayout
(
getText
(),
mTextPaint
,
getWidth
(),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
layout
.
draw
(
canvas
);
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
Layout
layout
=
new
StaticLayout
(
getText
(),
mTextPaintOutline
,
measureWidth
(
widthMeasureSpec
),
Layout
.
Alignment
.
ALIGN_CENTER
,
mSpacingMult
,
mSpacingAdd
,
mIncludePad
);
int
ex
=
(
int
)
(
mBorderSize
*
2
+
1
);
setMeasuredDimension
(
measureWidth
(
widthMeasureSpec
)
+
ex
,
measureHeight
(
heightMeasureSpec
)
*
layout
.
getLineCount
()
+
ex
);
}
private
int
measureWidth
(
int
measureSpec
)
{
int
result
=
0
;
int
specMode
=
MeasureSpec
.
getMode
(
measureSpec
);
int
specSize
=
MeasureSpec
.
getSize
(
measureSpec
);
if
(
specMode
==
MeasureSpec
.
EXACTLY
)
{
result
=
specSize
;
}
else
{
result
=
(
int
)
mTextPaintOutline
.
measureText
(
mText
)
+
getPaddingLeft
()
+
getPaddingRight
();
if
(
specMode
==
MeasureSpec
.
AT_MOST
)
{
result
=
Math
.
min
(
result
,
specSize
);
}
}
return
result
;
}
private
int
measureHeight
(
int
measureSpec
)
{
int
result
=
0
;
int
specMode
=
MeasureSpec
.
getMode
(
measureSpec
);
int
specSize
=
MeasureSpec
.
getSize
(
measureSpec
);
mAscent
=
(
int
)
mTextPaintOutline
.
ascent
();
if
(
specMode
==
MeasureSpec
.
EXACTLY
)
{
result
=
specSize
;
}
else
{
result
=
(
int
)
(-
mAscent
+
mTextPaintOutline
.
descent
())
+
getPaddingTop
()
+
getPaddingBottom
();
if
(
specMode
==
MeasureSpec
.
AT_MOST
)
{
result
=
Math
.
min
(
result
,
specSize
);
}
}
return
result
;
}
private
TextPaint
mTextPaint
;
private
TextPaint
mTextPaintOutline
;
private
String
mText
=
""
;
private
int
mAscent
=
0
;
private
float
mBorderSize
;
private
int
mBorderColor
;
private
int
mColor
;
private
float
mSpacingMult
=
1.0f
;
private
float
mSpacingAdd
=
0
;
private
boolean
mIncludePad
=
true
;
}
\ No newline at end of file
ijkmediawidget/src/tv/danmaku/ijk/media/widget/VideoView.java
浏览文件 @
4c3787dc
...
...
@@ -2,9 +2,7 @@
* Copyright (C) 2006 The Android Open Source Project
* Copyright (C) 2012 YIXIA.COM
* Copyright (C) 2013 Zhang Rui <bbcallen@gmail.com>
*
* Based on https://github.com/yixia/VitamioBundle
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录