提交 21e683f1 编写于 作者: B Blankj

see 10/11 log

上级 c5fc08be
......@@ -407,19 +407,21 @@ getReplaceAll : 替换所有正则匹配的部分
* ### 屏幕相关→[ScreenUtils.java][screen.java]
```
getScreenWidth : 获取屏幕的宽度(单位:px)
getScreenHeight : 获取屏幕的高度(单位:px)
setFullScreen : 设置屏幕为全屏
setLandscape : 设置屏幕为横屏
setPortrait : 设置屏幕为竖屏
isLandscape : 判断是否横屏
isPortrait : 判断是否竖屏
getScreenRotation: 获取屏幕旋转角度
screenShot : 截屏
isScreenLock : 判断是否锁屏
setSleepDuration : 设置进入休眠时长
getSleepDuration : 获取进入休眠时长
isTablet : 判断是否是平板
getScreenWidth : 获取屏幕的宽度(单位:px)
getScreenHeight : 获取屏幕的高度(单位:px)
getScreenDensity : 获取屏幕密度
getScreenDensityDpi: 获取屏幕密度DPI
setFullScreen : 设置屏幕为全屏
setLandscape : 设置屏幕为横屏
setPortrait : 设置屏幕为竖屏
isLandscape : 判断是否横屏
isPortrait : 判断是否竖屏
getScreenRotation : 获取屏幕旋转角度
screenShot : 截屏
isScreenLock : 判断是否锁屏
setSleepDuration : 设置进入休眠时长
getSleepDuration : 获取进入休眠时长
isTablet : 判断是否是平板
```
* ### SD卡相关→[SDCardUtils.java][sdcard.java][Demo][sdcard.demo]
......@@ -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
......
......@@ -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
......
......@@ -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] = Root0Fragment.newInstance();
mFragments[1] = Root1Fragment.newInstance();
mFragments[2] = Root2Fragment.newInstance();
FragmentUtils.add(getSupportFragmentManager(), mFragments, R.id.fragment_container, curIndex);
}
......
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;
}
}
......@@ -23,15 +23,15 @@ import java.util.Random;
* desc :
* </pre>
*/
public class RootFragment extends BaseFragment
public class Root1Fragment extends BaseFragment
implements FragmentUtils.OnBackClickListener {
ImageView ivSharedElement;
TextView tvAboutFragment;
public static RootFragment newInstance() {
public static Root1Fragment newInstance() {
Bundle args = new Bundle();
RootFragment fragment = new RootFragment();
Root1Fragment fragment = new Root1Fragment();
fragment.setArguments(args);
return fragment;
}
......
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;
}
}
<?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="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_height="match_parent"
android:padding="@dimen/spacing_16">
<TextView
android:id="@+id/tv_about_fragment"
style="@style/TextStyle"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<FrameLayout
android:id="@+id/child_fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_about_fragment"
style="@style/TextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_show_about_fragment"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_show_stack" />
<FrameLayout
android:id="@+id/child_fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_add"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add" />
<Button
android:id="@+id/btn_show_about_fragment"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_show_stack" />
<Button
android:id="@+id/btn_add_hide"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_hide" />
<Button
android:id="@+id/btn_add"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add" />
<Button
android:id="@+id/btn_add_hide_stack"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_hide_stack" />
<Button
android:id="@+id/btn_add_hide"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_hide" />
<Button
android:id="@+id/btn_add_show"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_demo1_show" />
<Button
android:id="@+id/btn_add_hide_stack"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_hide_stack" />
<Button
android:id="@+id/btn_add_child"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_child" />
<Button
android:id="@+id/btn_add_show"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_demo1_show" />
<Button
android:id="@+id/btn_pop_to_root"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_pop_to_root" />
<Button
android:id="@+id/btn_add_child"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_add_child" />
<Button
android:id="@+id/btn_pop_add"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_pop_add" />
<Button
android:id="@+id/btn_pop_to_root"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_pop_to_root" />
<Button
android:id="@+id/btn_hide_show"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_hide_demo0_show_demo1" />
<Button
android:id="@+id/btn_pop_add"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_pop_add" />
<Button
android:id="@+id/btn_replace"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_replace" />
<Button
android:id="@+id/btn_hide_show"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_hide_demo0_show_demo1" />
<ImageView
android:id="@+id/iv_shared_element"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img_lena"
android:transitionName="@string/fragment_transition" />
<Button
android:id="@+id/btn_replace"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/fragment_replace" />
<ImageView
android:id="@+id/iv_shared_element"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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
......@@ -29,8 +29,8 @@ ext {
minSdkVersion = 14
targetSdkVersion = 22
versionCode = 100900200
versionName = '1.9.2'
versionCode = 100900300
versionName = '1.9.3'
// App dependencies
supportVersion = '25.3.1'
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册