【问题标题】:Design Issue with AndroidAndroid 的设计问题
【发布时间】:2015-04-05 18:29:50
【问题描述】:

我正在为我的对话框创建布局。 在 Android Studio 中,布局在普通的 Android 4.0+ 设计中显示 EditText 和微调器(参见图 2)

但是当我在运行 Android 5.0 的移动设备上部署此应用程序时,edittext 和 spinner 设计看起来就像在 Android Gingerbread (2.3) 中一样。

我不知道是什么问题,以及为什么这个设计会搞砸。

这是我的 AndroidManifest 代码

    <activity
        android:name="com.random.DialogAmountEdit"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>

这是我的 styles.xml 代码

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

【问题讨论】:

  • 你能告诉我们你的AndroidManifest.xmlstyles.xml吗?这可能是样式/主题问题。
  • 我已经编辑了上面的代码,你可以看看

标签: android android-edittext spinner


【解决方案1】:

你使用过 DialogFragments 吗? 缺少的部分将是 setStyle 调用。您必须在显示 Fragment 之前执行此操作。

@NonNull
public static SlowConnectionDialogFragment newInstance(final String errorText) {
    final Bundle bundle = BundleArgs.create(errorText);
    final SlowConnectionDialogFragment instance = new SlowConnectionDialogFragment();
    instance.setStyle(STYLE_NO_TITLE, android.R.style.Theme_DeviceDefault_Light_Dialog);
    instance.setArguments(bundle);
    return instance;
}

对于对话框,需要一些其他样式属性,以恢复浮动窗口。所以你应该考虑为 Dialogs 创建另一个主题。

【讨论】:

  • 我没有将它用作 DialogFragment。我为对话框创建了一个简单的 Activity,然后使用 startActivityResult 在活动之间来回传递值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
  • 2018-07-18
相关资源
最近更新 更多