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



有一个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);

语言类是具有 toString 方法的对象。

@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?
}
你可以

使用它。

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);
}
}

相关内容

  • 没有找到相关文章

最新更新