Your location:Tech News>News>Script>Solution interface adapter Huawei cell phone-based virtual keys

Latest News

Solution interface adapter Huawei cell phone-based virtual keys

Author:fsadmin

Views:

  public class AndroidWorkaround {

  public static void assistActivity (View content) {

  new AndroidWorkaround (content);

  }

  private View mChildOfContent;

  private int usableHeightPrevious;

  private ViewGroup.LayoutParams frameLayoutParams;

  private AndroidWorkaround (View content) {

  mChildOfContent = content;

  mChildOfContent.getViewTreeObserver ().addOnGlobalLayoutListener (new ViewTreeObserver.OnGlobalLayoutListener () {

  public void onGlobalLayout () {

  possiblyResizeChildOfContent ();

  }

  });

  frameLayoutParams = mChildOfContent.getLayoutParams ();

  }

  private void possiblyResizeChildOfContent () {

  int usableHeightNow = computeUsableHeight ();

  if (usableHeightNow != UsableHeightPrevious) {

  frameLayoutParams.height = usableHeightNow;

  mChildOfContent.requestLayout ();

  usableHeightPrevious = usableHeightNow;

  }

  }

  private int computeUsableHeight () {

  Rect r = new Rect ();

  mChildOfContent.getWindowVisibleDisplayFrame (r);

  return (r.bottom);

  }

  public static boolean checkDeviceHasNavigationBar (Context context) {

  boolean hasNavigationBar = false;

  Resources rs = context.getResources ();

  int id = rs.getIdentifier ( "config_showNavigationBar", "bool", "android");

  if (id> 0) {

  hasNavigationBar = rs.getBoolean (id);

  }

  try {

  Class systemPropertiesClass = Class.forName ( "android.os.SystemProperties ");

  Method m = systemPropertiesClass.getMethod ( "get", String.class);

  String navBarOverride = (String) m.invoke (systemPropertiesClass, "qemu.hw.mainkeys ");

  if ( "1".equals (navBarOverride)) {

  hasNavigationBar = false;

  } Else if ( "0".equals (navBarOverride)) {

  hasNavigationBar = true;

  }

  } Catch (Exception e) {

  }

  return hasNavigationBar;

  }

  }

Recommend article

Relate article