0

有一个 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?
}
4

1 回答 1

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);
}
}
于 2013-01-28T18:19:25.360 回答