1 java android styles textview android-edittext
我在代码中创建textView和editText.
TextView textview = new TextView(getActivity());
final EditText editText = new EditText(getActivity());
editText.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)
我在res/values/mystyle中有样式,当我在textView中添加样式时,它看起来像这样:
TextView textview = new TextView(getActivity(), null, R.style.editTextStyle);
Run Code Online (Sandbox Code Playgroud)
但是,没有任何改变.如何在我的代码中添加textView和editText中的样式.我做错了什么?谢谢大家!
我们无法以编程方式设置样式:代码中的android设置样式.至少还没有.我应该移动样式xml中的信息并将其转换为布局xml格式.
基本上你需要创建一个新的布局xml,它只包含一个视图.这是一个示例布局TextView:
(我的测试设置中的layout/edit_text_style.xml)
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#000033"
android:textColor="#00aa00"
android:typeface="monospace"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TextView>
Run Code Online (Sandbox Code Playgroud)
然后TextView应该在Activity代码中使用创建getLayoutInflater().这是示例代码:
(在我的测试设置中使用layout/main.xml的MainActivity.java.)
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout root = (LinearLayout) findViewById(R.id.root);
TextView test = (TextView) getLayoutInflater().inflate(R.layout.edit_text_style, null); // Magic!
test.setText("Ah, hello World..."); // Remove this if you set text in the xml
root.addView(test); // Bang!
Run Code Online (Sandbox Code Playgroud)
这也是我的测试设置中的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/test"
android:text="Absolutely meaningless and mostly harmless text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8443 次 |
| 最近记录: |