package www.znq.com.myapplication.proxy; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.ContentFrameLayout; import android.util.Log; import android.view.MotionEvent; import www.znq.com.myapplication.R; import www.znq.com.myapplication.fragment.ExampleFragment; /** * @author jiiiiiin * @version 1.0 */ public class ProxyModeFragmentActivity extends AppCompatActivity implements FragmentOnTouchMng.ITouchMngProxy { private static final String TAG = "ExampleFragment"; private FragmentOnTouchMng mFragmentOnTouchMng; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ContentFrameLayout container = new ContentFrameLayout(this); container.setId(R.id.delegate_container); setContentView(container); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); ExampleFragment fragment = new ExampleFragment(); fragmentTransaction.replace(R.id.delegate_container, fragment); fragmentTransaction.commit(); mFragmentOnTouchMng = FragmentOnTouchMng.newInstance(); } @Override public boolean dispatchTouchEvent(final MotionEvent ev) { try { mFragmentOnTouchMng.dispatchTouchEvent(ev); } catch (FragmentOnTouchMng.FragmentOnTouchMngException e) { Log.e(TAG, "dispatchTouchEvent err:: " + e.getMessage()); } return super.dispatchTouchEvent(ev); } @Override public void registerOnTouchListener(@NonNull FragmentOnTouchMng.OnTouchListener listener) { mFragmentOnTouchMng.registerOnTouchListener(listener); } }