更改首选项中的EditText外观

3

我已经创建了一个自定义的EditTextPreference,用于在偏好设置中显示和内联Edittext。当我像下面这样将其添加到xml资源文件中:

        <app.FormEntryPreference
            android:key="pref_key"
            android:title="@string/pref_string"/>

我得到了这个结果:

image 1

它有我想要的样式(android:Theme.Holo)。
当我以编程方式添加我的首选项时:
FormEntryPreference form0 = new FormEntryPreference(getActivity().getApplicationContext(), null);   

我得到了不同的结果: image2 样式应用在用于EditText的布局资源中:
 <EditText        
    style="@style/Style.that.inherits.from.holo"
    android:inputType="text"
    android:id="@+id/form_id"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</EditText>

我希望在两种情况下都获得相同的形状。

这是正常的。当您在XML中添加EditText时,您正在配置样式,但是当使用普通构造函数创建它时,您不会配置样式。 您必须编辑自定义EditText并在构造函数中以编程方式设置样式。 - Aracem
1个回答

0
好的,所以我的同事解决了这个问题,他只是把代码中的“getApplicationContext()”删掉就行了:
``` FormEntryPreference form0 = new FormEntryPreference(getActivity(), null); ```
FormEntryPreference form0 = new FormEntryPreference(getActivity(), null);   

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接