/** * @author : Jarry Leo * @date : 2018/10/11 9:30 */ @ScreenAdapterDesignWidthInDp(400) public class TestV4Fragment extends Fragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { MagicScreenAdapter.adapt(this, 360); MagicScreenAdapter.cancelAdapt(this); return inflater.inflate(R.layout.fragment_test, null); } }
/** * @author Leo */ @IgnoreScreenAdapter public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addFragment(); addFragmentV4(); } private void addFragment() { FragmentManager fm = getFragmentManager(); fm.beginTransaction() .replace(R.id.container, new TestFragment()) .commitAllowingStateLoss(); } private void addFragmentV4() { android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); fm.beginTransaction() .replace(R.id.container1, new TestV4Fragment()) .commitAllowingStateLoss(); } }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void cancelAdapt(@NonNull Activity activity) { boolean isAdapt = ScreenAdapter.isAdaptScreen(activity); if (isAdapt) { ScreenAdapter.cancelAdaptScreen(activity); } }
@Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { MagicScreenAdapter.adapt(this, 360); MagicScreenAdapter.cancelAdapt(this); return inflater.inflate(R.layout.fragment_test, null); } }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void adapt(@NonNull Activity activity) { adapt(activity, 0); }
ScreenAdapterDesignWidthInDp annotation = target.getClass().getAnnotation(ScreenAdapterDesignWidthInDp.class); designWidthInDp = annotation.value(); ScreenAdapter.cancelAdaptScreen((Activity) target); } else { ScreenAdapter.adaptScreen((Activity) target, designWidthInDp); ScreenAdapter.cancelAdaptScreen(((Fragment) target).getActivity()); } else { ScreenAdapter.adaptScreen(((Fragment) target).getActivity(), designWidthInDp); ScreenAdapter.cancelAdaptScreen(((android.support.v4.app.Fragment) target).getActivity()); } else { ScreenAdapter.adaptScreen(((android.support.v4.app.Fragment) target).getActivity(), designWidthInDp);
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) public static void cancelAdapt(@NonNull Fragment fragment) { cancelAdapt(fragment.getActivity()); }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void adapt(@NonNull Activity activity, int designWidthInDp) { ScreenAdapter.adaptScreen(activity, designWidthInDp); }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void adapt(@NonNull android.support.v4.app.Fragment fragment) { FragmentActivity activity = fragment.getActivity(); if (activity != null) { adapt(activity, 0); } }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void cancelAdapt(@NonNull android.support.v4.app.Fragment fragment) { FragmentActivity activity = fragment.getActivity(); if (activity != null) { cancelAdapt(fragment.getActivity()); } }
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) public static void adapt(@NonNull Fragment fragment) { adapt(fragment.getActivity(), 0); }
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) public static void adapt(@NonNull Fragment fragment, int designWidthInDp) { adapt(fragment.getActivity(), designWidthInDp); }
@RequiresApi(api = Build.VERSION_CODES.DONUT) public static void adapt(@NonNull android.support.v4.app.Fragment fragment, int designWidthInDp) { FragmentActivity activity = fragment.getActivity(); if (activity != null) { adapt(fragment.getActivity(), designWidthInDp); } }