Explorar el Código

隐藏状态栏功能完成

huyuguo %!s(int64=5) %!d(string=hace) años
padre
commit
434e445800

BIN
app/.DS_Store


+ 78 - 4
app/src/main/java/com/electric/chargingpile/activity/ChatActivity.java

@ -1,15 +1,26 @@
1 1
package com.electric.chargingpile.activity;
2 2
3 3
import android.Manifest;
4
import android.app.ActionBar;
4 5
import android.app.Activity;
6
import android.app.Fragment;
5 7
import android.content.Intent;
6 8
import android.content.SharedPreferences;
9
import android.graphics.Color;
10
import android.os.Build;
7 11
import android.os.Bundle;
12
import android.support.annotation.ColorInt;
8 13
import android.support.annotation.NonNull;
14
import android.support.v4.app.FragmentManager;
15
import android.support.v4.graphics.ColorUtils;
9 16
import android.support.v4.view.ViewPager;
10 17
import android.support.v7.app.AppCompatActivity;
11 18
import android.view.KeyEvent;
12 19
import android.view.View;
20
import android.view.ViewGroup;
21
import android.view.Window;
22
import android.view.WindowManager;
23
import android.widget.FrameLayout;
13 24
import android.widget.ImageView;
14 25
import android.widget.LinearLayout;
15 26
import android.widget.RelativeLayout;
@ -20,11 +31,12 @@ import com.blankj.utilcode.util.ActivityUtils;
20 31
import com.electric.chargingpile.R;
21 32
import com.electric.chargingpile.adapter.ViewPagerFragmentAdapter;
22 33
import com.electric.chargingpile.application.MainApplication;
23
import com.electric.chargingpile.data.ChatBeanLab;
34
import com.electric.chargingpile.fragment.ChatFragment;
24 35
import com.electric.chargingpile.fragment.ChatRecommendFragment;
25 36
import com.electric.chargingpile.fragment.QaActivityFragment;
37
import com.electric.chargingpile.iview.RecyclerItemTypeClickListener;
26 38
import com.electric.chargingpile.manager.ProfileManager;
27
import com.electric.chargingpile.util.ToastUtil;
39
import com.electric.chargingpile.util.BarColorUtil;
28 40
import com.umeng.analytics.MobclickAgent;
29 41
30 42
import java.util.List;
@ -55,16 +67,16 @@ public class ChatActivity extends AppCompatActivity implements View.OnClickListe
55 67
56 68
    private static final int RC_CAMERA_PERM = 123;
57 69
    private long exitTime = 0;
70
    private FrameLayout fragmentContainer;
71
    private ChatFragment chatFragment;
58 72
59 73
    @Override
60 74
    protected void onCreate(Bundle savedInstanceState) {
61 75
        super.onCreate(savedInstanceState);
62 76
        setContentView(R.layout.activity_chat);
63
64 77
        initView();
65 78
        initListener();
66 79
        isRefresh = true;
67
68 80
        updateView(0);
69 81
    }
70 82
@ -99,8 +111,70 @@ public class ChatActivity extends AppCompatActivity implements View.OnClickListe
99 111
        tv_msg_num = findViewById(R.id.tv_msg_num);
100 112
        // 发现红点消息提醒
101 113
        iv_point = findViewById(R.id.iv_point);
114
115
        // 点击视频或图文
116
        chatRecommendFragment.setOnRecyclerItemClickListener(new RecyclerItemTypeClickListener() {
117
            @Override
118
            public void onItemClickListener(int position, int index) {
119
                addChatFragment(position);
120
            }
121
        });
122
123
        fragmentContainer = findViewById(R.id.fragment_container);
102 124
    }
103 125
126
    private void addChatFragment(int position) {
127
        setFullScreen(true);
128
        setStatusBarVisibility(true);
129
130
        fragmentContainer.setVisibility(View.VISIBLE);
131
        FragmentManager fragmentManager = getSupportFragmentManager();
132
        chatFragment = (ChatFragment) fragmentManager.findFragmentById(R.id.fragment_container);
133
        if (chatFragment == null) {
134
            chatFragment = ChatFragment.newInstance(position - 1);
135
            fragmentManager.beginTransaction().add(R.id.fragment_container, chatFragment).commit();
136
            chatFragment.setMenuVisibility(true);
137
        }
138
    }
139
140
    private void removeChatFragment() {
141
        FragmentManager fragmentManager = getSupportFragmentManager();
142
        if (chatFragment != null) {
143
            fragmentManager.beginTransaction().remove(chatFragment).commit();
144
            chatFragment.setMenuVisibility(false);
145
        }
146
    }
147
148
    /**
149
     * 显示隐藏状态栏,全屏不变,只在有全屏时有效
150
     * @param enable
151
     */
152
    private void setStatusBarVisibility(boolean enable) {
153
        WindowManager.LayoutParams lp = getWindow().getAttributes();
154
        if (enable) {
155
            lp.flags |= WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN;
156
        } else {
157
            lp.flags &= (~WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
158
        }
159
        getWindow().setAttributes(lp);
160
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
161
    }
162
    /**
163
     * 设置是否全屏
164
     * @param enable
165
     */
166
    private void setFullScreen(boolean enable) {
167
        WindowManager.LayoutParams lp = getWindow().getAttributes();
168
        if (enable) {
169
            lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
170
        } else {
171
            lp.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
172
        }
173
        getWindow().setAttributes(lp);
174
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
175
    }
176
177
104 178
    private void initListener() {
105 179
        act_bar_title_recommend.setOnClickListener(this);
106 180
        act_bar_title_help.setOnClickListener(this);

+ 1 - 1
app/src/main/java/com/electric/chargingpile/activity/PublishPicTopicActivity.java

@ -897,7 +897,7 @@ public class PublishPicTopicActivity extends Activity implements OnClickListener
897 897
        map.put("content", et_context.getText().toString());
898 898
        map.put("urls", urls);
899 899
        if (chatRecommendBean != null) {
900
            map.put("topicId", chatRecommendBean.targetId + "");
900
            map.put("topicId", chatRecommendBean.topicId + "");
901 901
        }
902 902
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
903 903
        map.put("coverImgUrl", "");

+ 1 - 1
app/src/main/java/com/electric/chargingpile/activity/PublishVideoTopicActivity.java

@ -313,7 +313,7 @@ public class PublishVideoTopicActivity extends Activity implements OnClickListen
313 313
        map.put("content", mPublishtopicCon.getText().toString().trim());
314 314
        map.put("urls", urls);
315 315
        if (chatRecommendBean != null) {
316
            map.put("topicId", chatRecommendBean.targetId + "");
316
            map.put("topicId", chatRecommendBean.topicId + "");
317 317
        }
318 318
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_VIDEO + "");
319 319
        map.put("coverImgW", media.getWidth() + "");

+ 72 - 0
app/src/main/java/com/electric/chargingpile/fragment/ChatFragment.java

@ -0,0 +1,72 @@
1
package com.electric.chargingpile.fragment;
2
3
import android.os.Bundle;
4
import android.support.annotation.Nullable;
5
import android.support.v4.app.Fragment;
6
import android.util.Log;
7
import android.view.LayoutInflater;
8
import android.view.View;
9
import android.view.ViewGroup;
10
import android.widget.Toast;
11
12
import com.electric.chargingpile.R;
13
import com.electric.chargingpile.util.ToastUtil;
14
import com.electric.chargingpile.util.Util;
15
16
public class ChatFragment extends Fragment implements View.OnClickListener {
17
    private static final String TAG = "ChatFragment";
18
    private static final String ARG_POSITION = "arg_position";
19
20
    public static ChatFragment newInstance(int position) {
21
        Bundle args = new Bundle();
22
        args.putSerializable(ARG_POSITION, position);
23
        ChatFragment fragment = new ChatFragment();
24
        fragment.setArguments(args);
25
        return fragment;
26
    }
27
28
    @Override
29
    public void onCreate(@Nullable Bundle savedInstanceState) {
30
        super.onCreate(savedInstanceState);
31
        int position = getArguments().getInt(ARG_POSITION);
32
        Log.d(TAG, "onCreatexxxx: " + position);
33
    }
34
35
    @Nullable
36
    @Override
37
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
38
        View view = inflater.inflate(R.layout.fragment_chat, container, false);
39
        init(view);
40
        return view;
41
    }
42
43
    private void init(View view) {
44
//        view.findViewById(R.id.button2).setOnClickListener(this);
45
    }
46
47
    @Override
48
    public void onResume() {
49
        super.onResume();
50
    }
51
52
    @Override
53
    public void onDestroy() {
54
        super.onDestroy();
55
        Log.d(TAG, "onDestroy: ");
56
    }
57
58
    @Override
59
    public void onDestroyView() {
60
        super.onDestroyView();
61
        Log.d(TAG, "onDestroyView: ");
62
    }
63
64
    @Override
65
    public void onClick(View view) {
66
        switch (view.getId()) {
67
//            case R.id.button2:
68
//                ToastUtil.showToast(getContext(), "come on ", Toast.LENGTH_SHORT);
69
//                break;
70
        }
71
    }
72
}

+ 39 - 37
app/src/main/java/com/electric/chargingpile/fragment/ChatRecommendFragment.java

@ -1,9 +1,11 @@
1 1
package com.electric.chargingpile.fragment;
2 2
3
import android.app.Activity;
3 4
import android.content.Intent;
4 5
import android.os.Bundle;
5 6
import android.support.constraint.ConstraintLayout;
6 7
import android.support.v4.app.Fragment;
8
import android.support.v4.app.FragmentManager;
7 9
import android.support.v7.widget.RecyclerView;
8 10
import android.support.v7.widget.StaggeredGridLayoutManager;
9 11
import android.text.TextUtils;
@ -18,8 +20,6 @@ import com.andview.refreshview.XRefreshView;
18 20
import com.electric.chargingpile.R;
19 21
import com.electric.chargingpile.activity.LoginActivity;
20 22
import com.electric.chargingpile.activity.PublishItemsActivity;
21
import com.electric.chargingpile.activity.TopicDetailActivity;
22
import com.electric.chargingpile.activity.VideoDetaislActivity;
23 23
import com.electric.chargingpile.adapter.ChatRecommendAdapter;
24 24
import com.electric.chargingpile.adapter.TopicDetailAdapter;
25 25
import com.electric.chargingpile.application.MainApplication;
@ -36,18 +36,10 @@ import com.electric.chargingpile.util.ToastUtil;
36 36
import com.zhy.http.okhttp.OkHttpUtils;
37 37
import com.zhy.http.okhttp.callback.StringCallback;
38 38
39
import java.io.Serializable;
40 39
import java.util.ArrayList;
41 40
import java.util.HashMap;
42
import java.util.List;
43 41
import java.util.Map;
44 42
45
import io.reactivex.Observable;
46
import io.reactivex.android.schedulers.AndroidSchedulers;
47
import io.reactivex.disposables.Disposable;
48
import io.reactivex.functions.Consumer;
49
import io.reactivex.functions.Predicate;
50
import io.reactivex.schedulers.Schedulers;
51 43
import okhttp3.Call;
52 44
53 45
public class ChatRecommendFragment extends Fragment implements View.OnClickListener {
@ -65,6 +57,8 @@ public class ChatRecommendFragment extends Fragment implements View.OnClickListe
65 57
    private LoadingDialog loadingDialog;
66 58
    private ConstraintLayout noNetView;
67 59
    private TextView noNetTry;
60
    private RecyclerItemTypeClickListener onRecyclerItemClickListener;
61
68 62
69 63
    @Override
70 64
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@ -126,35 +120,39 @@ public class ChatRecommendFragment extends Fragment implements View.OnClickListe
126 120
                    return;
127 121
                }
128 122
123
                if (onRecyclerItemClickListener != null) {
124
                    onRecyclerItemClickListener.onItemClickListener(position, type);
125
                }
129 126
130
                final List<ChatRecommendBean> beans = ChatBeanLab.get(getContext()).beans();
131
                ChatRecommendBean bean = beans.get(position - 1);
132
                Disposable disposable = Observable.fromIterable(beans).filter(new Predicate<ChatRecommendBean>() {
133
                    @Override
134
                    public boolean test(ChatRecommendBean chatRecommendBean) throws Exception {
135
                        return chatRecommendBean.targetType != 25;
136
                    }
137
                }).toList().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<List<ChatRecommendBean>>() {
138
                    @Override
139
                    public void accept(List<ChatRecommendBean> list) throws Exception {
140
                        ChatRecommendBean chatRecommendBean = beans.get(position - 1);
141
142
                        int index = 0;
143
                        for (int i = 0; i < list.size(); i++) {
144
                            ChatRecommendBean tmp = list.get(i);
145
                            if (tmp.targetType == chatRecommendBean.targetType &&
146
                                    tmp.targetId == chatRecommendBean.targetId) {
147
                                index = i;
148
                                break;
149
                            }
150
                        }
151 127
152
                        Intent intent = new Intent(getActivity(), VideoDetaislActivity.class);
153
                        intent.putExtra("list", (Serializable) list);
154
                        intent.putExtra("pos", index);
155
                        startActivity(intent);
156
                    }
157
                });
128
//                final List<ChatRecommendBean> beans = ChatBeanLab.get(getContext()).beans();
129
//                ChatRecommendBean bean = beans.get(position - 1);
130
//                Disposable disposable = Observable.fromIterable(beans).filter(new Predicate<ChatRecommendBean>() {
131
//                    @Override
132
//                    public boolean test(ChatRecommendBean chatRecommendBean) throws Exception {
133
//                        return chatRecommendBean.targetType != 25;
134
//                    }
135
//                }).toList().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<List<ChatRecommendBean>>() {
136
//                    @Override
137
//                    public void accept(List<ChatRecommendBean> list) throws Exception {
138
//                        ChatRecommendBean chatRecommendBean = beans.get(position - 1);
139
//
140
//                        int index = 0;
141
//                        for (int i = 0; i < list.size(); i++) {
142
//                            ChatRecommendBean tmp = list.get(i);
143
//                            if (tmp.targetType == chatRecommendBean.targetType &&
144
//                                    tmp.targetId == chatRecommendBean.targetId) {
145
//                                index = i;
146
//                                break;
147
//                            }
148
//                        }
149
//
150
//                        Intent intent = new Intent(getActivity(), VideoDetaislActivity.class);
151
//                        intent.putExtra("list", (Serializable) list);
152
//                        intent.putExtra("pos", index);
153
//                        startActivity(intent);
154
//                    }
155
//                });
158 156
            }
159 157
        });
160 158
@ -166,6 +164,10 @@ public class ChatRecommendFragment extends Fragment implements View.OnClickListe
166 164
        }
167 165
    }
168 166
167
    public void setOnRecyclerItemClickListener(RecyclerItemTypeClickListener onRecyclerItemClickListener) {
168
        this.onRecyclerItemClickListener = onRecyclerItemClickListener;
169
    }
170
169 171
    private void initListener() {
170 172
        iv_ask.setOnClickListener(this);
171 173
        noNetTry.setOnClickListener(this);

+ 20 - 0
app/src/main/java/com/electric/chargingpile/util/Util.java

@ -1,8 +1,15 @@
1 1
package com.electric.chargingpile.util;
2 2

3
import android.app.Activity;
3 4
import android.content.Context;
5
import android.graphics.Color;
6
import android.os.Build;
7
import android.support.v7.app.ActionBar;
8
import android.support.v7.app.AppCompatActivity;
4 9
import android.text.TextUtils;
5 10
import android.util.Log;
11
import android.view.View;
12
import android.view.WindowManager;
6 13

7 14
import com.electric.chargingpile.activity.MainMapActivity;
8 15
import com.electric.chargingpile.data.Zhan;
@ -267,4 +274,17 @@ public class Util {
267 274
        return list2;
268 275
    }
269 276

277
    public static void hideActionBar(AppCompatActivity activity) {
278
        if (Build.VERSION.SDK_INT >= 21) {
279
            View decorView = activity.getWindow().getDecorView();
280
            int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
281
            decorView.setSystemUiVisibility(option);
282
            activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
283

284
        }
285

286
        ActionBar actionBar = activity.getSupportActionBar();
287
        actionBar.hide();
288
    }
289

270 290
}

+ 6 - 0
app/src/main/res/layout/activity_chat.xml

@ -261,4 +261,10 @@
261 261
262 262
    </LinearLayout>
263 263
264
    <FrameLayout
265
        android:id="@+id/fragment_container"
266
        android:layout_width="match_parent"
267
        android:visibility="gone"
268
        android:layout_height="match_parent"></FrameLayout>
269
264 270
</RelativeLayout>

+ 1 - 1
app/src/main/res/layout/activity_topic.xml

@ -113,7 +113,7 @@
113 113
            android:layout_width="wrap_content"
114 114
            android:layout_height="wrap_content"
115 115
            android:layout_marginBottom="20dp"
116
            android:text="网络跑了,请重试~"
116
            android:text="网络跑了,请重试~"
117 117
            android:textColor="#555"
118 118
            android:textSize="14sp" />
119 119

+ 19 - 0
app/src/main/res/layout/fragment_chat.xml

@ -0,0 +1,19 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<android.support.constraint.ConstraintLayout
3
    xmlns:android="http://schemas.android.com/apk/res/android"
4
    xmlns:app="http://schemas.android.com/apk/res-auto"
5
    xmlns:tools="http://schemas.android.com/tools"
6
    android:background="#0000ff"
7
    android:layout_width="match_parent"
8
    android:layout_height="match_parent">
9
10
    <!--<com.andview.refreshview.XRefreshView-->
11
        <!--android:layout_width="match_parent"-->
12
        <!--android:layout_height="match_parent"-->
13
        <!--app:layout_constraintBottom_toBottomOf="parent"-->
14
        <!--app:layout_constraintEnd_toEndOf="parent"-->
15
        <!--app:layout_constraintStart_toStartOf="parent"-->
16
        <!--app:layout_constraintTop_toTopOf="parent">-->
17
18
    <!--</com.andview.refreshview.XRefreshView>-->
19
</android.support.constraint.ConstraintLayout>

+ 1 - 1
app/src/main/res/layout/view_show_comment.xml

@ -60,7 +60,7 @@
60 60
        <TextView
61 61
            android:layout_width="wrap_content"
62 62
            android:layout_height="wrap_content"
63
            android:text="网络跑了,请检查网络~"
63
            android:text="网络跑了,请检查网络~"
64 64
            android:textColor="#fff"
65 65
            android:textSize="14sp" />
66 66