查看特定Android设备偶尔会模糊

时间:2015-05-08 12:16:06

标签: android performance android-fragmentactivity

我遇到了一个问题,即点击我的应用中的特定按钮,我的Android设备(Moto G2)的屏幕变得模糊。这个事件偶尔发生,而不是每次我点击这个按钮。 在我测试应用程序一段时间的其他一些设备(如LG G3)上没有发生这种情况。 我无法在日志中找到任何相关或有用的内容。 只是要添加,提出此问题的登录按钮是附加片段的视图。

该方案的屏幕截图:

  

在活动的onCreate()中添加代码,在其中添加片段:

 if (savedInstanceState == null) {
            facebookLoginBtnFragment = new FacebookLoginBtnFragment();
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, facebookLoginBtnFragment).commit();
           googleLoginBtnFragment = new GoogleLoginBtnFragment();
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container2, googleLoginBtnFragment).commit();

        } else {
            facebookLoginBtnFragment = (FacebookLoginBtnFragment)getSupportFragmentManager().findFragmentById(R.id.container);
            googleLoginBtnFragment = (GoogleLoginBtnFragment)getSupportFragmentManager().findFragmentById(R.id.container2);
        }
  

以下是Google +片段的onCreateView()代码:

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_gplusloginbtns, container, false);
     gplusButton = (SignInButton)rootView.findViewById(R.id.GPlus_Sign_in_button); gplusButton.setOnClickListener(this);
     setGooglePlusButtonText(gplusButton, "Log in with Google");
     rootView.findViewById(R.id.GPlus_sign_out_button).setOnClickListener(this);
     if (mActivity.getClass().toString().contains("ShowProfile_act")) {
         rootView.findViewById(R.id.GPlus_Sign_in_button).setVisibility(View.GONE);
     } mConnectionProgressDialog = new ProgressDialog(getActivity());    mConnectionProgressDialog.setMessage("Logging in...");
     return rootView;
 }
  

以下是setGooglePlusButtonText()方法的代码:

private void setGooglePlusButtonText(SignInButton signInButton, String buttonText) {
// Find the TextView that is inside of the SignInButton and set its text
        for (int i = 0; i < signInButton.getChildCount(); i++) {
            View v = signInButton.getChildAt(i);
            if (v instanceof TextView) {
                TextView tv = (TextView) v;
                tv.setText(buttonText);
                return;
            }
        }
}

- &gt;片段的其他方法处理与Google+ API的连接维护部分。我认为它们可能不相关 任何建议,关于原因的建议以及如何避免这种情况都会有所帮助。

0 个答案:

没有答案