diff --git a/app/src/main/java/com/gh/base/ToolBarActivity.java b/app/src/main/java/com/gh/base/ToolBarActivity.java index b1fc079ab4..77c0ad8ac5 100644 --- a/app/src/main/java/com/gh/base/ToolBarActivity.java +++ b/app/src/main/java/com/gh/base/ToolBarActivity.java @@ -3,7 +3,6 @@ package com.gh.base; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; -import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.view.Menu; @@ -12,7 +11,6 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.Window; -import android.view.WindowManager; import android.widget.RelativeLayout; import android.widget.TextView; @@ -52,6 +50,8 @@ public abstract class ToolBarActivity extends BaseActivity implements ToolbarCon @Nullable private PackageViewModel mPackageViewModel; + protected RelativeLayout mToolbarContainer; + protected Toolbar mToolbar; protected TextView mTitleTv; @@ -88,6 +88,7 @@ public abstract class ToolBarActivity extends BaseActivity implements ToolbarCon } private void initToolbar() { + mToolbarContainer = findViewById(R.id.normal_toolbar_container); mToolbar = findViewById(R.id.normal_toolbar); mTitleTv = findViewById(R.id.normal_title); if (mToolbar != null) { @@ -253,4 +254,11 @@ public abstract class ToolBarActivity extends BaseActivity implements ToolbarCon protected boolean showDownloadMenu() { return false; } + + @Override + public void hideToolbar(boolean isHide) { + if (mToolbarContainer != null) { + mToolbarContainer.setVisibility(isHide ? View.GONE : View.VISIBLE); + } + } } diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 0051d39f5d..c02f020ae2 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -219,6 +219,8 @@ object DirectUtils { "anliwall" -> directToAmway(context, fixedTopAmwayCommentId = null, entrance = entrance, path = path) + "h5_game_center" -> directLetoGameCenter(context) + "" -> { // do nothing } diff --git a/app/src/main/java/com/gh/gamecenter/NormalActivity.java b/app/src/main/java/com/gh/gamecenter/NormalActivity.java index 349f88c14b..6f4870da07 100644 --- a/app/src/main/java/com/gh/gamecenter/NormalActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NormalActivity.java @@ -7,11 +7,11 @@ import android.text.TextUtils; import android.view.MenuItem; import android.view.MotionEvent; -import androidx.fragment.app.Fragment; - import com.gh.base.ToolBarActivity; import com.gh.gamecenter.normal.NormalFragment; +import androidx.fragment.app.Fragment; + /** * Created by khy on 17/10/17. */ diff --git a/app/src/main/java/com/gh/gamecenter/normal/ToolbarController.java b/app/src/main/java/com/gh/gamecenter/normal/ToolbarController.java index 72255827ab..ce5f18b2cf 100644 --- a/app/src/main/java/com/gh/gamecenter/normal/ToolbarController.java +++ b/app/src/main/java/com/gh/gamecenter/normal/ToolbarController.java @@ -1,9 +1,10 @@ package com.gh.gamecenter.normal; +import android.view.MenuItem; + import androidx.annotation.IdRes; import androidx.annotation.MenuRes; import androidx.annotation.StringRes; -import android.view.MenuItem; /** * Created by khy on 17/10/17. @@ -19,4 +20,6 @@ public interface ToolbarController { // 注意 先initMenu 在getMenuItem MenuItem getMenuItem(@IdRes int res); + + void hideToolbar(boolean isHide); } diff --git a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java index 0f631943ef..064c8bd199 100644 --- a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java @@ -16,8 +16,6 @@ import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; -import androidx.annotation.Nullable; - import com.gh.base.BaseActivity; import com.gh.common.AppExecutor; import com.gh.common.DefaultJsApi; @@ -27,6 +25,7 @@ import com.gh.common.constant.Constants; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.CollectionUtils; import com.gh.common.util.DialogHelper; +import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.GsonUtils; import com.gh.common.util.MtaHelper; @@ -41,6 +40,7 @@ import com.gh.gamecenter.entity.WebShareEntity; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.message.MessageDetailFragment; import com.gh.gamecenter.normal.NormalFragment; +import com.gh.gamecenter.normal.ToolbarController; import com.gh.gamecenter.personal.PersonalFragment; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -52,6 +52,7 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.HashMap; import java.util.List; +import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.OnClick; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -84,6 +85,8 @@ public class WebFragment extends NormalFragment { TextView webComment; @BindView(R.id.news_bottom) RelativeLayout newsBottom; + @BindView(R.id.closeBtn) + RelativeLayout closeBtn; MenuItem mMenuShare; MenuItem mMenuCollect; @@ -123,7 +126,19 @@ public class WebFragment extends NormalFragment { @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - initMenu(); + if (TextUtils.isEmpty(mGameName)) { + initMenu(); + } else { + if (requireActivity() instanceof ToolbarController) { + ((ToolbarController) requireActivity()).hideToolbar(true); + DisplayUtils.transparentStatusBar(requireActivity()); + closeBtn.setVisibility(View.VISIBLE); + RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) closeBtn.getLayoutParams(); + params.topMargin = params.topMargin + DisplayUtils.getStatusBarHeight(getResources()); + closeBtn.setLayoutParams(params); + closeBtn.setOnClickListener(v -> onBackPressed()); + } + } } private void initMenu() { @@ -415,13 +430,15 @@ public class WebFragment extends NormalFragment { @Override public void onResume() { super.onResume(); - mWebView.callHandler("videoPlay", retValue -> {}); + mWebView.callHandler("videoPlay", retValue -> { + }); } @Override public void onPause() { super.onPause(); - mWebView.callHandler("videoPause", retValue -> {}); + mWebView.callHandler("videoPause", retValue -> { + }); } class ShareNativeCallback { diff --git a/app/src/main/res/drawable-xxhdpi/ico_web_close.png b/app/src/main/res/drawable-xxhdpi/ico_web_close.png new file mode 100644 index 0000000000..3e22b30bf4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ico_web_close.png differ diff --git a/app/src/main/res/drawable/bg_web_close.xml b/app/src/main/res/drawable/bg_web_close.xml new file mode 100644 index 0000000000..1097cf486f --- /dev/null +++ b/app/src/main/res/drawable/bg_web_close.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_web.xml b/app/src/main/res/layout/fragment_web.xml index fdb7882802..55d5867333 100644 --- a/app/src/main/res/layout/fragment_web.xml +++ b/app/src/main/res/layout/fragment_web.xml @@ -43,4 +43,21 @@ android:textSize = "16sp" /> + + + + + \ No newline at end of file