【问题标题】:Dynamically creating EditText with ICS Holo style使用 ICS Holo 样式动态创建 EditText
【发布时间】:2012-06-20 08:26:54
【问题描述】:

这是我的问题:我正在使用 HoloTheme 为 ICS 创建一个应用程序。所以默认情况下,我在 .xml-layout 中实现的所有 EditText 视图如下所示:

但是当我尝试动态创建相同的 EditText 时,它们看起来都像 Android 2.3 等中的 EditText(只是带边框的白色矩形)。请给我一个解决方案。

【问题讨论】:

  • Stackoverflow 不是代码生成站点。
  • 我坚信解决方案(如果存在)由一行代码组成。我可以在这里发布 200 行活动代码和 50 行 xml 布局(几乎每个人都这样做),但我希望这个问题没有必要

标签: android android-edittext android-4.0-ice-cream-sandwich dynamically-generated


【解决方案1】:

您确定动态创建它们是正确的吗?

LinearLayout l = new LinearLayout(this);

EditText et = new EditText(this);


//this would create a 100x50 editText
l.addView(et, new LinearLayout.LayoutParams(100, 50));

//and this one would create an editText with relative width and fix height
l.addView(et, new LinearLayout.LayoutParams(50, LayoutParams.WRAP_CONTENT));

如果正如您在此处所说的那样,EditText 的样式不是 ICS 的样式,则问题可能是:

  • 您实际上并没有在 ICS api 中编程(在项目中,您可以在 properties->Android 中轻松设置)
  • 在 androidManifest 中查看 minimum-sdk 为 13 (4.0.3):

    <uses-sdk android:minSdkVersion="13">
    
  • 确保安装了正确的模拟器(使用所需的 api)。

我希望您可以通过该检查解决您的问题。

【讨论】:

  • 好吧,我想你还没有理解我的问题。 EditText 视图创建正确,但样式错误
  • 我尝试了我放在这里的代码,它对我来说很好(你想要的风格)。我将根据您可能遇到的问题编辑我的答案。
  • 我再次尝试:如果我在 onCreate 中动态创建 EditText - 效果很好,但如果我这样做例如 onButtonClick - 样式失败
  • 好的,我终于明白了:问题在于我的上下文 - 使用 getBaseContext() 是个坏主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多