如何在运行时更改按钮单击时edittext内容的样式和颜色

时间:2015-08-14 05:52:10

标签: android

我正在开发一个布料设计Android应用程序。其中我想在所需的按钮点击上改变编辑文本的文本样式,对于文本颜色也是如此。

我的xml文件是.......

 <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/mvieww"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <EditText
        android:layout_centerInParent="true"
        android:id="@+id/etext"
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        android:textSize="15dp"
        android:layout_gravity="center"/>

    <ImageView
        android:id="@+id/icon"
        android:layout_centerInParent="true"
        android:layout_width="50dp"
        android:layout_height="50dp" />
</RelativeLayout>

请帮帮我........

3 个答案:

答案 0 :(得分:0)

要设置颜色,请使用:

 textView.setTextColor(Color.SOMECOLOR);

要设置字体,请使用:

textView.setTypeFace(SOMEFONT);

如果您实际上不知道如何将其设置为单击按钮,那么这是您的操作方式:

首先,制作一个Button。我假设你把它命名为button。 通过findViewById(R.whateverTheIdOfTheButtonIs)

设置

然后,你需要做:

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Set the text color or font here
            }
        });

答案 1 :(得分:0)

我不相信你可以以编程方式设置样式。要解决此问题,您可以创建一个模板布局xml文件,并指定样式,例如在res / layout create tvtemplate.xml中,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is a template"
        style="@style/my_style" />


EditText myText = (EditText)getLayoutInflater().inflate(R.layout.tvtemplate, null);

希望这会有所帮助:)

答案 2 :(得分:0)

尝试此操作,当您点击EditText

时,它会更新yourButton文字的样式和颜色
 yourButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

              yourEditText.setText(Html.fromHtml("<font color=red><b>"+yourEditText.getText().toString()+"</b></font>"));// set style and color  

            }
        });