以编程方式更改微调器文本大小

时间:2013-01-28 17:27:20

标签: android layout size spinner

有一个SeekBar,每当我滚动它时我都会得到它的值。这个位置应该是因素,我的旋转器中的文本应该有多大。

所以每当我在布局中滚动不是50sp时我想改变我的微调器项目的文本大小

我的custom_list_row.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textViewRow"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="top|left"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
    android:paddingRight="?android:attr/listPreferredItemPaddingRight"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:textSize="50sp" />

我的适配器

ArrayAdapter<Language> adapter = new ArrayAdapter<Language>(this, R.layout.custom_list_row,
                currentLanguages);
        spinnerLanguage.setAdapter(adapter);

Language类是一个带有toString方法的Object。

@Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        resizeViews(progress);
    }

private void resizeViews(int progress){
    textViewFirstName.setTextSize(20+progress);
    //how can I do this for a spinner here?
}

1 个答案:

答案 0 :(得分:1)

你可以使用它。

private void resizeViews(int progress){
textViewFirstName.setTextSize(20+progress);
//this might be helpful
for(int i=0;i<spinnerLanguage.getChildCount();i++){
((TextView)spinnerLanguage.getChildAt(i)).setTextSize(20+progress);
}
}