relativelayout中的Textview和按钮在android oreo和pie中不可见,但在其他android版本中完全可见
relativelayout中的Textview和按钮在android oreo和pie中不可见,但在其他android版本中完全可见relativelayout中的Textview和按钮在android oreo和pie中不可见,但在其他android版本中完全可见,android,android-8.0-oreo,android-9.0-pie,Android,Android 8.0 Oreo,Android 9.0 Pie,relativelayout中的Textview和按钮在android oreo和pie中不可见,但在其他android版本中完全可见 if (mPromocodeCheckBox != null) { mPromocodeCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override p
if (mPromocodeCheckBox != null) {
mPromocodeCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (inputMethodManager == null)
inputMethodManager = (InputMethodManager) ALTCommonUtils.currentActivity.getSystemService(Context.INPUT_METHOD_SERVICE);
if (mPromocodeLayout != null) {
if (isChecked) {
mPromocodeLayout.setVisibility(View.VISIBLE);
if (inputMethodManager != null && mPromocodeEditText != null) {
mPromocodeEditText.requestFocus();
inputMethodManager.showSoftInput(mPromocodeEditText, InputMethodManager.SHOW_IMPLICIT);
}
if (mPromocodeApplyButton != null)
mPromocodeApplyButton.setVisibility(View.VISIBLE);
if (mPromocodeEditText != null)
mPromocodeEditText.setEnabled(true);
} else {
mPromocodeLayout.setVisibility(View.GONE);
HandleViewsUtils.TextView_SetText(mPromocodeMsg, "");
if (inputMethodManager != null && mPromocodeEditText != null) {
HandleViewsUtils.EditText_SetText(mPromocodeEditText, "");
inputMethodManager.hideSoftInputFromWindow(mPromocodeEditText.getApplicationWindowToken(), 0);
}
}
}
}
});
}
为供参考,我附上了xml代码的屏幕截图:
第一个屏幕截图显示了低于奥利奥和高于奥利奥的正常屏幕
当我单击下面oreo中的promocode复选框时,第二个屏幕截图完美显示:
当我点击奥利奥和馅饼中的促销代码复选框时,第三个屏幕截图显示不完美
您的xml屏幕截图读起来很痛苦,但我刚刚意识到您使用的是填充父项而不是匹配父项填充父项在API 8中被弃用 也许是时候转向最近引入的方法、设计模式和库了。开始使用约束布局而不是相对布局。以及它的未来。停止使用相对布局,仅在非常必要时使用它们。2018年关于布局的谷歌I/O讨论。你不知道谷歌什么时候会决定否决它,然后你的项目就会停止工作 另一件需要记住的事情是新的支持库,您应该开始将旧项目迁移到它。AndroidX将是未来新的单一支持库,所有基于数字的支持库都将停止使用 最后一件最重要的事情是你应该开始开发Android API 28+,这将由谷歌从今年开始实施;谷歌开发者。所以,开始迁移到当前的API和支持库 希望这有帮助 附录 确保您的代码库中有Android Studio关于弃用的警告。这里有更多的链接