Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mmm-rain
AndroidUtilCode
提交
21e683f1
A
AndroidUtilCode
项目概览
mmm-rain
/
AndroidUtilCode
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
AndroidUtilCode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
21e683f1
编写于
10月 11, 2017
作者:
B
Blankj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see 10/11 log
上级
c5fc08be
变更
9
显示空白变更内容
内联
并排
Showing
9 changed file
with
459 addition
and
104 deletion
+459
-104
README-CN.md
README-CN.md
+17
-15
README.md
README.md
+4
-2
app/src/main/java/com/blankj/androidutilcode/core/fragment/FragmentActivity.java
...lankj/androidutilcode/core/fragment/FragmentActivity.java
+3
-3
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root0Fragment.java
...m/blankj/androidutilcode/core/fragment/Root0Fragment.java
+165
-0
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root1Fragment.java
...m/blankj/androidutilcode/core/fragment/Root1Fragment.java
+3
-3
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root2Fragment.java
...m/blankj/androidutilcode/core/fragment/Root2Fragment.java
+163
-0
app/src/main/res/core/layout/fragment_root.xml
app/src/main/res/core/layout/fragment_root.xml
+84
-79
build.gradle
build.gradle
+2
-2
utilcode/src/main/java/com/blankj/utilcode/util/ScreenUtils.java
...e/src/main/java/com/blankj/utilcode/util/ScreenUtils.java
+18
-0
未找到文件。
README-CN.md
浏览文件 @
21e683f1
...
...
@@ -409,12 +409,14 @@ getReplaceAll : 替换所有正则匹配的部分
```
getScreenWidth : 获取屏幕的宽度(单位:px)
getScreenHeight : 获取屏幕的高度(单位:px)
getScreenDensity : 获取屏幕密度
getScreenDensityDpi: 获取屏幕密度DPI
setFullScreen : 设置屏幕为全屏
setLandscape : 设置屏幕为横屏
setPortrait : 设置屏幕为竖屏
isLandscape : 判断是否横屏
isPortrait : 判断是否竖屏
getScreenRotation: 获取屏幕旋转角度
getScreenRotation
: 获取屏幕旋转角度
screenShot : 截屏
isScreenLock : 判断是否锁屏
setSleepDuration : 设置进入休眠时长
...
...
@@ -610,7 +612,7 @@ getComments : 获取压缩文件中的注释链表
Gradle:
```
groovy
compile
'com.blankj:utilcode:1.9.
2
'
compile
'com.blankj:utilcode:1.9.
3
'
```
...
...
@@ -633,7 +635,7 @@ Utils.init(application);
[
logo
]:
https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
2
-brightgreen.svg
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
3
-brightgreen.svg
[
auc
]:
https://github.com/Blankj/AndroidUtilCode
[
apisvg
]:
https://img.shields.io/badge/API-14+-brightgreen.svg
...
...
README.md
浏览文件 @
21e683f1
...
...
@@ -409,6 +409,8 @@ getReplaceAll
```
getScreenWidth
getScreenHeight
getScreenDensity
getScreenDensityDpi
setFullScreen
setLandscape
setPortrait
...
...
@@ -610,7 +612,7 @@ getComments
Gradle:
```
groovy
compile
'com.blankj:utilcode:1.9.
2
'
compile
'com.blankj:utilcode:1.9.
3
'
```
...
...
@@ -633,7 +635,7 @@ Utils.init(application);
[
logo
]:
https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
2
-brightgreen.svg
[
aucsvg
]:
https://img.shields.io/badge/AndroidUtilCode-v1.9.
3
-brightgreen.svg
[
auc
]:
https://github.com/Blankj/AndroidUtilCode
[
apisvg
]:
https://img.shields.io/badge/API-14+-brightgreen.svg
...
...
app/src/main/java/com/blankj/androidutilcode/core/fragment/FragmentActivity.java
浏览文件 @
21e683f1
...
...
@@ -58,9 +58,9 @@ public class FragmentActivity extends BaseActivity {
navigation
=
(
BottomNavigationView
)
findViewById
(
R
.
id
.
navigation_fragment
);
navigation
.
setOnNavigationItemSelectedListener
(
mOnNavigationItemSelectedListener
);
mFragments
[
0
]
=
RootFragment
.
newInstance
();
mFragments
[
1
]
=
RootFragment
.
newInstance
();
mFragments
[
2
]
=
RootFragment
.
newInstance
();
mFragments
[
0
]
=
Root
0
Fragment
.
newInstance
();
mFragments
[
1
]
=
Root
1
Fragment
.
newInstance
();
mFragments
[
2
]
=
Root
2
Fragment
.
newInstance
();
FragmentUtils
.
add
(
getSupportFragmentManager
(),
mFragments
,
R
.
id
.
fragment_container
,
curIndex
);
}
...
...
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root0Fragment.java
0 → 100644
浏览文件 @
21e683f1
package
com.blankj.androidutilcode.core.fragment
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.support.v4.app.Fragment
;
import
android.transition.Fade
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.blankj.androidutilcode.R
;
import
com.blankj.androidutilcode.base.BaseFragment
;
import
com.blankj.utilcode.util.FragmentUtils
;
import
java.util.Random
;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 17/02/02
* desc :
* </pre>
*/
public
class
Root0Fragment
extends
BaseFragment
implements
FragmentUtils
.
OnBackClickListener
{
ImageView
ivSharedElement
;
TextView
tvAboutFragment
;
public
static
Root0Fragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
Root0Fragment
fragment
=
new
Root0Fragment
();
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
initData
(
Bundle
bundle
)
{
}
@Override
public
int
bindLayout
()
{
return
R
.
layout
.
fragment_root
;
}
@Override
public
void
initView
(
Bundle
savedInstanceState
,
View
view
)
{
Random
random
=
new
Random
();
FragmentUtils
.
setBackgroundColor
(
this
,
Color
.
rgb
(
random
.
nextInt
(
256
),
random
.
nextInt
(
256
),
random
.
nextInt
(
256
)));
view
.
findViewById
(
R
.
id
.
btn_show_about_fragment
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_hide
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_hide_stack
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_show
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_child
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_pop_to_root
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_pop_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_hide_show
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_replace
).
setOnClickListener
(
this
);
ivSharedElement
=
(
ImageView
)
view
.
findViewById
(
R
.
id
.
iv_shared_element
);
tvAboutFragment
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
tv_about_fragment
);
}
@Override
public
void
doBusiness
()
{
}
@Override
public
void
onWidgetClick
(
View
view
)
{
tvAboutFragment
.
setText
(
""
);
switch
(
view
.
getId
())
{
case
R
.
id
.
btn_show_about_fragment
:
tvAboutFragment
.
setText
(
"top: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTop
(
getFragmentManager
()))
+
"\ntopInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
()))
+
"\ntopShow: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShow
(
getFragmentManager
()))
+
"\ntopShowInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
()))
+
"\n---all of fragments---\n"
+
FragmentUtils
.
getAllFragments
(
getFragmentManager
()).
toString
()
+
"\n----------------------\n\n"
+
"---stack top---\n"
+
FragmentUtils
.
getAllFragmentsInStack
(
getFragmentManager
()).
toString
()
+
"\n---stack bottom---\n\n"
);
break
;
case
R
.
id
.
btn_add
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
child_fragment_container
,
false
,
true
);
break
;
case
R
.
id
.
btn_add_hide
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
fragment_container
,
true
);
break
;
case
R
.
id
.
btn_add_hide_stack
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
fragment_container
,
true
,
true
);
break
;
// case R.id.btn_add_show:
// FragmentUtils.add(getFragmentManager(),
// addSharedElement(Demo1Fragment.newInstance()),
// R.id.fragment_container,
// false,
// false,
// sharedElement);
// break;
// case R.id.btn_add_child:
// FragmentUtils.add(getChildFragmentManager(),
// ChildFragment.newInstance(),
// R.id.child_fragment_container,
// false,
// true);
// break;
// case R.id.btn_pop_to_root:
// FragmentUtils.popToFragment(getFragmentManager(),
// Demo1Fragment.class,
// true);
// break;
// case R.id.btn_pop_add:
// FragmentUtils.popAddFragment(getFragmentManager(),
// addSharedElement(ChildFragment.newInstance()),
// R.id.fragment_container,
// true,
// sharedElement);
// break;
// case R.id.btn_hide_show:
// Fragment fragment1 = FragmentUtils.findFragment(getFragmentManager(), Demo1Fragment.class);
// if (fragment1 != null) {
// FragmentUtils.showHideFragment(this, fragment1);
// } else {
// ToastUtils.showLong("please add demo1 first!");
// }
// break;
// case R.id.btn_replace:
// ((FragmentActivity) getActivity()).rootFragment = FragmentUtils.replaceFragment(this, addSharedElement(Demo3Fragment.newInstance()), false, sharedElement);
// break;
}
}
private
Fragment
addSharedElement
(
Fragment
fragment
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
fragment
.
setSharedElementEnterTransition
(
new
DetailTransition
());
fragment
.
setEnterTransition
(
new
Fade
());
fragment
.
setSharedElementReturnTransition
(
new
DetailTransition
());
}
return
fragment
;
}
@Override
public
boolean
onBackClick
()
{
// FragmentUtils.popToFragment(getFragmentManager(), Demo1Fragment.class, true);
return
false
;
}
}
app/src/main/java/com/blankj/androidutilcode/core/fragment/RootFragment.java
→
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root
1
Fragment.java
浏览文件 @
21e683f1
...
...
@@ -23,15 +23,15 @@ import java.util.Random;
* desc :
* </pre>
*/
public
class
RootFragment
extends
BaseFragment
public
class
Root
1
Fragment
extends
BaseFragment
implements
FragmentUtils
.
OnBackClickListener
{
ImageView
ivSharedElement
;
TextView
tvAboutFragment
;
public
static
RootFragment
newInstance
()
{
public
static
Root
1
Fragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
Root
Fragment
fragment
=
new
Root
Fragment
();
Root
1Fragment
fragment
=
new
Root1
Fragment
();
fragment
.
setArguments
(
args
);
return
fragment
;
}
...
...
app/src/main/java/com/blankj/androidutilcode/core/fragment/Root2Fragment.java
0 → 100644
浏览文件 @
21e683f1
package
com.blankj.androidutilcode.core.fragment
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.support.v4.app.Fragment
;
import
android.transition.Fade
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.blankj.androidutilcode.R
;
import
com.blankj.androidutilcode.base.BaseFragment
;
import
com.blankj.utilcode.util.FragmentUtils
;
import
java.util.Random
;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 17/02/02
* desc :
* </pre>
*/
public
class
Root2Fragment
extends
BaseFragment
implements
FragmentUtils
.
OnBackClickListener
{
ImageView
ivSharedElement
;
TextView
tvAboutFragment
;
public
static
Root2Fragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
Root2Fragment
fragment
=
new
Root2Fragment
();
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
initData
(
Bundle
bundle
)
{
}
@Override
public
int
bindLayout
()
{
return
R
.
layout
.
fragment_root
;
}
@Override
public
void
initView
(
Bundle
savedInstanceState
,
View
view
)
{
Random
random
=
new
Random
();
FragmentUtils
.
setBackgroundColor
(
this
,
Color
.
rgb
(
random
.
nextInt
(
256
),
random
.
nextInt
(
256
),
random
.
nextInt
(
256
)));
view
.
findViewById
(
R
.
id
.
btn_show_about_fragment
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_hide
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_hide_stack
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_show
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_add_child
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_pop_to_root
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_pop_add
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_hide_show
).
setOnClickListener
(
this
);
view
.
findViewById
(
R
.
id
.
btn_replace
).
setOnClickListener
(
this
);
ivSharedElement
=
(
ImageView
)
view
.
findViewById
(
R
.
id
.
iv_shared_element
);
tvAboutFragment
=
(
TextView
)
view
.
findViewById
(
R
.
id
.
tv_about_fragment
);
}
@Override
public
void
doBusiness
()
{
}
@Override
public
void
onWidgetClick
(
View
view
)
{
tvAboutFragment
.
setText
(
""
);
switch
(
view
.
getId
())
{
case
R
.
id
.
btn_show_about_fragment
:
tvAboutFragment
.
setText
(
"top: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTop
(
getFragmentManager
()))
+
"\ntopInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopInStack
(
getFragmentManager
()))
+
"\ntopShow: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShow
(
getFragmentManager
()))
+
"\ntopShowInStack: "
+
FragmentUtils
.
getSimpleName
(
FragmentUtils
.
getTopShowInStack
(
getFragmentManager
()))
+
"\n---all of fragments---\n"
+
FragmentUtils
.
getAllFragments
(
getFragmentManager
()).
toString
()
+
"\n----------------------\n\n"
+
"---stack top---\n"
+
FragmentUtils
.
getAllFragmentsInStack
(
getFragmentManager
()).
toString
()
+
"\n---stack bottom---\n\n"
);
break
;
case
R
.
id
.
btn_add
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
fragment_container
);
break
;
case
R
.
id
.
btn_add_hide
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
fragment_container
,
true
);
break
;
case
R
.
id
.
btn_add_hide_stack
:
FragmentUtils
.
add
(
getFragmentManager
(),
ChildFragment
.
newInstance
(),
R
.
id
.
fragment_container
,
true
,
true
);
break
;
// case R.id.btn_add_show:
// FragmentUtils.add(getFragmentManager(),
// addSharedElement(Demo1Fragment.newInstance()),
// R.id.fragment_container,
// false,
// false,
// sharedElement);
// break;
// case R.id.btn_add_child:
// FragmentUtils.add(getChildFragmentManager(),
// ChildFragment.newInstance(),
// R.id.child_fragment_container,
// false,
// true);
// break;
// case R.id.btn_pop_to_root:
// FragmentUtils.popToFragment(getFragmentManager(),
// Demo1Fragment.class,
// true);
// break;
// case R.id.btn_pop_add:
// FragmentUtils.popAddFragment(getFragmentManager(),
// addSharedElement(ChildFragment.newInstance()),
// R.id.fragment_container,
// true,
// sharedElement);
// break;
// case R.id.btn_hide_show:
// Fragment fragment1 = FragmentUtils.findFragment(getFragmentManager(), Demo1Fragment.class);
// if (fragment1 != null) {
// FragmentUtils.showHideFragment(this, fragment1);
// } else {
// ToastUtils.showLong("please add demo1 first!");
// }
// break;
// case R.id.btn_replace:
// ((FragmentActivity) getActivity()).rootFragment = FragmentUtils.replaceFragment(this, addSharedElement(Demo3Fragment.newInstance()), false, sharedElement);
// break;
}
}
private
Fragment
addSharedElement
(
Fragment
fragment
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
fragment
.
setSharedElementEnterTransition
(
new
DetailTransition
());
fragment
.
setEnterTransition
(
new
Fade
());
fragment
.
setSharedElementReturnTransition
(
new
DetailTransition
());
}
return
fragment
;
}
@Override
public
boolean
onBackClick
()
{
// FragmentUtils.popToFragment(getFragmentManager(), Demo1Fragment.class, true);
return
false
;
}
}
app/src/main/res/core/layout/fragment_root.xml
浏览文件 @
21e683f1
<?xml version="1.0" encoding="utf-8"?>
<
LinearLayout
<
ScrollView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:padding=
"@dimen/spacing_16"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
android:padding=
"@dimen/spacing_16"
>
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_about_fragment"
...
...
@@ -95,4 +99,5 @@
android:src=
"@drawable/img_lena"
android:transitionName=
"@string/fragment_transition"
/>
</LinearLayout>
\ No newline at end of file
</LinearLayout>
</ScrollView>
\ No newline at end of file
build.gradle
浏览文件 @
21e683f1
...
...
@@ -29,8 +29,8 @@ ext {
minSdkVersion
=
14
targetSdkVersion
=
22
versionCode
=
100900
2
00
versionName
=
'1.9.
2
'
versionCode
=
100900
3
00
versionName
=
'1.9.
3
'
// App dependencies
supportVersion
=
'25.3.1'
...
...
utilcode/src/main/java/com/blankj/utilcode/util/ScreenUtils.java
浏览文件 @
21e683f1
...
...
@@ -47,6 +47,24 @@ public final class ScreenUtils {
return
Utils
.
getApp
().
getResources
().
getDisplayMetrics
().
heightPixels
;
}
/**
* 获取屏幕密度
*
* @return 屏幕密度
*/
public
static
float
getScreenDensity
()
{
return
Utils
.
getApp
().
getResources
().
getDisplayMetrics
().
density
;
}
/**
* 获取屏幕密度DPI
*
* @return 屏幕密度DPI
*/
public
static
int
getScreenDensityDpi
()
{
return
Utils
.
getApp
().
getResources
().
getDisplayMetrics
().
densityDpi
;
}
/**
* 设置屏幕为全屏
* <p>需在 {@code setContentView} 之前调用</p>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录