为TextView的颜色设置使用动态微调? [英] Setting color for textview dynamically using spinner?

查看:136
本文介绍了为TextView的颜色设置使用动态微调?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要创建一个TextView的,文本的颜色是由用户通过微调对象选择的颜色被改变。

I want to create one textview, the colour of that text is to be changed by the user by selecting colour from spinner object.

的纺丝器对象包含的颜色表,即对于用户改变的TextView的颜色动态选择。

The spinner object contains list of colours, that is options for user to change the colour of textview dynamically.

借口,我的英语和帮助我。

Excuse for my english and help me out..

推荐答案

试试这个办法,希望这将帮助你解决你的问题。

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

   <TextView
       android:id="@+id/textview"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="TextView"/>

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"/>

</LinearLayout>

的strings.xml

<array name="colorname">
    <item>Red</item>
    <item>Yellow</item>
    <item>Green</item>
    <item>Blue</item>
    <item>Pink</item>
</array>

<array name="colorcode">
    <item>#FF0000</item>
    <item>#ffff00</item>
    <item>#00ff00</item>
    <item>#0000ff</item>
    <item>#FF0080</item>
</array>

MainActivity.java

public class MainActivity extends Activity {

    private Spinner spinner;
    private TextView textview;
    private ArrayList<String> colorNameList;
    private ArrayList<String> colorCodeList;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textview = (TextView) findViewById(R.id.textview);
        spinner = (Spinner) findViewById(R.id.spinner);

        colorNameList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.colorname)));
        colorCodeList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.colorcode)));

        final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, colorNameList);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(dataAdapter);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                textview.setTextColor(Color.parseColor(colorCodeList.get(position)));
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }
}

这篇关于为TextView的颜色设置使用动态微调?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆