@@ -25,6 +25,7 @@ |
||
25 | 25 |
<application |
26 | 26 |
android:name=".app.PaiAiApplication" |
27 | 27 |
android:icon="@mipmap/ic_launcher" |
28 |
+ android:hardwareAccelerated="true" |
|
28 | 29 |
android:label="@string/app_name" |
29 | 30 |
android:largeHeap="true" |
30 | 31 |
android:theme="@style/AppTheme.NoActionBar"> |
@@ -86,6 +87,7 @@ |
||
86 | 87 |
android:name=".activity.FeedbackActivity" |
87 | 88 |
android:configChanges="keyboardHidden|orientation|screenSize" |
88 | 89 |
android:label="@string/app_name" |
90 |
+ android:theme="@style/AppThemeTranslucent" |
|
89 | 91 |
android:screenOrientation="portrait" /> |
90 | 92 |
|
91 | 93 |
<activity |
@@ -135,6 +137,7 @@ |
||
135 | 137 |
android:name=".activity.PhotoDetailsActivity" |
136 | 138 |
android:configChanges="keyboardHidden|orientation|screenSize" |
137 | 139 |
android:label="@string/app_name" |
140 |
+ android:theme="@style/AppThemeTranslucent" |
|
138 | 141 |
android:screenOrientation="portrait" /> |
139 | 142 |
|
140 | 143 |
<activity |
@@ -179,9 +182,6 @@ |
||
179 | 182 |
android:label="@string/app_name" |
180 | 183 |
android:screenOrientation="portrait" /> |
181 | 184 |
|
182 |
- <activity android:name=".activity.TipsActivity" |
|
183 |
- android:theme="@style/ThemeTips"/> |
|
184 |
- |
|
185 | 185 |
<activity |
186 | 186 |
android:name=".wxapi.WXEntryActivity" |
187 | 187 |
android:configChanges="keyboardHidden|orientation|screenSize" |
@@ -1,60 +0,0 @@ |
||
1 |
-package ai.pai.client.activity; |
|
2 |
- |
|
3 |
- |
|
4 |
-import android.app.Activity; |
|
5 |
-import android.content.Intent; |
|
6 |
-import android.os.Bundle; |
|
7 |
-import android.view.KeyEvent; |
|
8 |
-import android.view.View; |
|
9 |
-import android.view.ViewGroup; |
|
10 |
-import android.view.Window; |
|
11 |
-import android.widget.RelativeLayout; |
|
12 |
- |
|
13 |
-import ai.pai.client.R; |
|
14 |
-import ai.pai.client.views.TipsView; |
|
15 |
- |
|
16 |
-public class TipsActivity extends Activity { |
|
17 |
- |
|
18 |
- private int[] mLocs; |
|
19 |
- |
|
20 |
- RelativeLayout mRlRootView; |
|
21 |
- |
|
22 |
- @Override |
|
23 |
- protected void onCreate(Bundle savedInstanceState) { |
|
24 |
- super.onCreate(savedInstanceState); |
|
25 |
- requestWindowFeature(Window.FEATURE_NO_TITLE);//取消title |
|
26 |
- setContentView(R.layout.activity_tips); |
|
27 |
- Intent intent = getIntent(); |
|
28 |
- mLocs = intent.getIntArrayExtra("loc"); |
|
29 |
- mRlRootView = (RelativeLayout)findViewById(R.id.tips_rootview); |
|
30 |
- mRlRootView.setOnClickListener(new View.OnClickListener() { |
|
31 |
- @Override |
|
32 |
- public void onClick(View v) { |
|
33 |
- clickClose(); |
|
34 |
- } |
|
35 |
- }); |
|
36 |
- initView(); |
|
37 |
- } |
|
38 |
- |
|
39 |
- private void initView() { |
|
40 |
- TipsView tipsView = new TipsView(this);//将坐标传给自定义view |
|
41 |
- tipsView.setCircleLocation(mLocs); |
|
42 |
- RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); |
|
43 |
- mRlRootView.addView(tipsView, layoutParams); |
|
44 |
- } |
|
45 |
- |
|
46 |
- public void clickClose() { |
|
47 |
- finish(); |
|
48 |
- overridePendingTransition(0, 0); |
|
49 |
- } |
|
50 |
- |
|
51 |
- @Override |
|
52 |
- public boolean onKeyDown(int keyCode, KeyEvent event) { |
|
53 |
- if (keyCode == KeyEvent.KEYCODE_BACK) { |
|
54 |
- finish(); |
|
55 |
- overridePendingTransition(0, 0); |
|
56 |
- return true; |
|
57 |
- } |
|
58 |
- return super.onKeyDown(keyCode, event); |
|
59 |
- } |
|
60 |
-} |
@@ -1,79 +0,0 @@ |
||
1 |
-package ai.pai.client.views; |
|
2 |
- |
|
3 |
-import android.content.Context; |
|
4 |
-import android.graphics.Bitmap; |
|
5 |
-import android.graphics.BitmapFactory; |
|
6 |
-import android.graphics.Canvas; |
|
7 |
-import android.graphics.Color; |
|
8 |
-import android.graphics.DashPathEffect; |
|
9 |
-import android.graphics.Paint; |
|
10 |
-import android.graphics.PathEffect; |
|
11 |
-import android.graphics.PorterDuff; |
|
12 |
-import android.graphics.PorterDuffXfermode; |
|
13 |
-import android.graphics.RectF; |
|
14 |
-import android.util.AttributeSet; |
|
15 |
-import android.widget.FrameLayout; |
|
16 |
- |
|
17 |
-import com.android.common.utils.DeviceUtils; |
|
18 |
-import com.sina.weibo.sdk.utils.UIUtils; |
|
19 |
- |
|
20 |
-import ai.pai.client.R; |
|
21 |
- |
|
22 |
-public class TipsView extends FrameLayout { |
|
23 |
- private final Context mContext; |
|
24 |
- private int[] mCircleLocation; |
|
25 |
- |
|
26 |
- public TipsView(Context context) { |
|
27 |
- this(context, null); |
|
28 |
- } |
|
29 |
- |
|
30 |
- public TipsView(Context context, AttributeSet attrs) { |
|
31 |
- this(context, attrs, 0); |
|
32 |
- } |
|
33 |
- |
|
34 |
- public TipsView(Context context, AttributeSet attrs, int defStyleAttr) { |
|
35 |
- super(context, attrs, defStyleAttr); |
|
36 |
- this.mContext = context; |
|
37 |
- initView(); |
|
38 |
- } |
|
39 |
- |
|
40 |
- private void initView() { |
|
41 |
- setBackgroundColor(Color.parseColor("#7f000000"));//半透明底色 |
|
42 |
- } |
|
43 |
- |
|
44 |
- public void setCircleLocation(int[] location) { |
|
45 |
- this.mCircleLocation = location; |
|
46 |
- invalidate(); //重新绘画 |
|
47 |
- } |
|
48 |
- |
|
49 |
- @Override |
|
50 |
- protected void onDraw(Canvas canvas) { |
|
51 |
- super.onDraw(canvas); |
|
52 |
- if (mCircleLocation != null) { |
|
53 |
- //掏空一个圆形 |
|
54 |
- Paint paintarc = new Paint(Paint.ANTI_ALIAS_FLAG); |
|
55 |
- PorterDuffXfermode porterDuffXfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR); |
|
56 |
- paintarc.setXfermode(porterDuffXfermode); |
|
57 |
- paintarc.setAntiAlias(true); |
|
58 |
- RectF rectF = new RectF(mCircleLocation[0], mCircleLocation[1], mCircleLocation[2], mCircleLocation[3]); |
|
59 |
- canvas.drawArc(rectF, 0, 360, true, paintarc); |
|
60 |
- //画虚线 |
|
61 |
- Paint paintdashed = new Paint(Paint.ANTI_ALIAS_FLAG); |
|
62 |
- paintdashed.setStyle(Paint.Style.STROKE); |
|
63 |
- paintdashed.setColor(Color.WHITE); |
|
64 |
- paintdashed.setStrokeWidth(1); |
|
65 |
- PathEffect pathEffect = new DashPathEffect(new float[]{10, 10}, 0); |
|
66 |
- paintdashed.setPathEffect(pathEffect); |
|
67 |
- canvas.drawArc(rectF, 0, 360, true, paintdashed); |
|
68 |
- //画指引图片 |
|
69 |
- Paint paintImage = new Paint(Paint.ANTI_ALIAS_FLAG); |
|
70 |
- Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.btn_camera_normal); |
|
71 |
- int width = bitmap.getWidth(); |
|
72 |
- int height = bitmap.getHeight(); |
|
73 |
- int def = DeviceUtils.dip2px(mContext,20); |
|
74 |
- int left = mCircleLocation[0] - width+def; |
|
75 |
- int top = mCircleLocation[1] - height; |
|
76 |
- canvas.drawBitmap(bitmap, left, top, paintImage); |
|
77 |
- } |
|
78 |
- } |
|
79 |
-} |
@@ -1,8 +0,0 @@ |
||
1 |
-<?xml version="1.0" encoding="utf-8"?> |
|
2 |
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
3 |
- android:clickable="true" |
|
4 |
- android:id="@+id/tips_rootview" |
|
5 |
- android:layout_width="match_parent" |
|
6 |
- android:layout_height="match_parent"> |
|
7 |
- |
|
8 |
-</RelativeLayout> |
@@ -6,4 +6,19 @@ |
||
6 | 6 |
<item name="android:windowDrawsSystemBarBackgrounds">true</item> |
7 | 7 |
<item name="android:statusBarColor">@android:color/transparent</item> |
8 | 8 |
</style> |
9 |
+ |
|
10 |
+ <style name="AppThemeTranslucent" parent="@style/Theme.AppCompat.NoActionBar"> |
|
11 |
+ <item name="android:windowIsTranslucent">true</item> |
|
12 |
+ <item name="android:windowBackground">@color/transparent</item> |
|
13 |
+ <!--V21 处理沉浸式--> |
|
14 |
+ <item name="android:windowNoTitle">true</item> |
|
15 |
+ <item name="android:windowContentOverlay">@null</item> |
|
16 |
+ <item name="android:windowOverscan">true</item> |
|
17 |
+ <item name="android:windowDrawsSystemBarBackgrounds">true</item> |
|
18 |
+ <item name="android:statusBarColor">#00000000</item> |
|
19 |
+ <item name="android:listDivider">@drawable/recycler_list_divider</item> |
|
20 |
+ <item name="android:colorBackgroundCacheHint">@null</item> |
|
21 |
+ <item name="android:windowAnimationStyle">@android:style/Animation</item> |
|
22 |
+ </style> |
|
23 |
+ |
|
9 | 24 |
</resources> |
@@ -35,10 +35,6 @@ |
||
35 | 35 |
<item name="android:backgroundDimEnabled">false</item> |
36 | 36 |
</style> |
37 | 37 |
|
38 |
- <style name="ThemeTips" parent="@android:style/Theme.Translucent.NoTitleBar"> |
|
39 |
- <item name="android:windowAnimationStyle">@style/Animation</item> |
|
40 |
- </style> |
|
41 |
- |
|
42 | 38 |
<style name="Animation"> |
43 | 39 |
<item name="android:activityOpenEnterAnimation">@null</item> |
44 | 40 |
<item name="android:activityOpenExitAnimation">@null</item> |
@@ -53,4 +49,14 @@ |
||
53 | 49 |
<item name="android:taskToBackEnterAnimation">@null</item> |
54 | 50 |
<item name="android:taskToBackExitAnimation">@null</item> |
55 | 51 |
</style> |
52 |
+ |
|
53 |
+ <style name="AppThemeTranslucent" parent="@style/Theme.AppCompat.NoActionBar"> |
|
54 |
+ <item name="android:windowIsTranslucent">true</item> |
|
55 |
+ <item name="android:windowBackground">@color/transparent</item> |
|
56 |
+ <item name="selectableItemBackground">@null</item> |
|
57 |
+ <item name="android:listDivider">@drawable/recycler_list_divider</item> |
|
58 |
+ <item name="android:colorBackgroundCacheHint">@null</item> |
|
59 |
+ <item name="android:windowAnimationStyle">@android:style/Animation</item> |
|
60 |
+ </style> |
|
61 |
+ |
|
56 | 62 |
</resources> |
@@ -22,7 +22,7 @@ org.gradle.parallel=true |
||
22 | 22 |
android.useDeprecatedNdk=true |
23 | 23 |
org.gradle.configureondemand=true |
24 | 24 |
|
25 |
-COMPILE_SDK_VERSION=24 |
|
25 |
+COMPILE_SDK_VERSION=23 |
|
26 | 26 |
BUILD_TOOLS_VERSION=25.0.2 |
27 | 27 |
MIN_SDK_VERSION=15 |
28 | 28 |
TARGET_SDK_VERSION=21 |
@@ -14,7 +14,7 @@ android { |
||
14 | 14 |
|
15 | 15 |
dependencies { |
16 | 16 |
compile fileTree(include: ['*.jar'], dir: 'libs') |
17 |
- compile 'com.android.support:design:latest.integration' |
|
18 |
- compile 'com.android.support:support-v4:latest.integration' |
|
19 |
- compile 'com.android.support:recyclerview-v7:latest.integration' |
|
17 |
+ compile 'com.android.support:design:24.2.1' |
|
18 |
+ compile 'com.android.support:support-v4:24.2.1' |
|
19 |
+ compile 'com.android.support:recyclerview-v7:24.2.1' |
|
20 | 20 |
} |