Android 5:softnavigation栏下面的按钮(Showcaseview legacy)

前端之家收集整理的这篇文章主要介绍了Android 5:softnavigation栏下面的按钮(Showcaseview legacy)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 legacy ShowcaseView for Android.我注意到Android 5模拟器将OK按钮放在softnavigation栏下面,而Android< = KITKAT没有这种行为. 请参见右下角的确定按钮: http://imgur.com/SZtIcHr

我已经尝试过android:fitsSystemWindows =“true”但没有成功.以下是我发现的ShowcaseView.java中的相关代码

  1. mEndButton = (Button) LayoutInflater.from(context).inflate(R.layout.showcase_button,null);

(警告:避免传递null作为视图根(需要解析膨胀布局的根元素上的布局参数))
[..]

  1. if (!mOptions.noButton && mEndButton.getParent() == null) {
  2. RelativeLayout.LayoutParams lps = (LayoutParams) generateDefaultLayoutParams();
  3. lps.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
  4. if (getConfigOptions().showcaseId==3)
  5. lps.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
  6. else
  7. lps.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
  8. int margin = ((Number) (metricScale * 12)).intValue();
  9. if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) // TODO: LOLLIPOP workaround
  10. lps.setMargins(margin,margin,margin*5);
  11. else
  12. lps.setMargins(margin,margin);
  13. lps.height = LayoutParams.WRAP_CONTENT;
  14. lps.width = LayoutParams.WRAP_CONTENT;
  15. mEndButton.setLayoutParams(lps);
  16. mEndButton.setText(buttonText != null ? buttonText : getResources().getString(R.string.positive));
  17. if (!hasCustomClickListener) mEndButton.setOnClickListener(this);
  18. addView(mEndButton);

我不知道如何改变这个或Android 5 /材料设计如何导致这种行为.我很乐意提示

猜你在找的Android相关文章