如何修改VerticalStepperForm中默认Continue按钮的文本?
修改VerticalStepperForm组件按钮文本的简便方法
不用折腾修改并重建库啦,这个组件其实自带了多种灵活的方式来替换默认的英文按钮文本,我给你整理几个实用方案:
方案1:初始化时全局配置(推荐)
在你DiagnosaActivity的onCreate方法里,初始化表单的时候通过配置Builder直接设置按钮文本,这是官方最推荐的方式:
verticalStepperForm.setup(this, pertanyaan01, pertanyaan02, pertanyaan03, pertanyaan04, pertanyaan05 , pertanyaan06, pertanyaan07, pertanyaan08, pertanyaan09, pertanyaan10) .formInitialization() // 设置"继续"按钮文本为印尼语 .setNextButtonText("Lanjut") // 设置"返回"按钮文本为印尼语 .setPreviousButtonText("Kembali") // 如果需要的话,也可以修改最终的确认按钮文本 .setConfirmButtonText("Konfirmasi") .init();
这样所有步骤的按钮都会统一使用你设置的印尼语文本,不用碰任何库源码。
方案2:通过资源文件全局覆盖
如果希望整个项目里所有使用该组件的地方都自动用印尼语按钮,可以在你的项目res/values/strings.xml中添加以下字符串,覆盖组件默认的资源值:
<string name="vertical_stepper_form_next_button">Lanjut</string> <string name="vertical_stepper_form_previous_button">Kembali</string> <string name="vertical_stepper_form_confirm_button">Konfirmasi</string>
Android资源系统会优先使用你项目中的资源,这样组件会自动加载这些文本,无需修改Java代码。
方案3:针对单个步骤自定义按钮文本
如果需要给不同步骤设置不同的按钮文本(比如最后一步改成"提交"),可以在你的StepPertanyaan类中重写按钮文本的方法:
@Override public String getNextButtonText() { // 判断是否是最后一步,返回对应的文本 return isLastStep() ? "Kirim Jawaban" : "Lanjut"; } @Override public String getPreviousButtonText() { return "Kembali ke Pertanyaan Sebelumnya"; }
这种方式可以实现更精细化的控制,每个步骤的按钮文本都可以单独定义。
以上三种方法都不需要修改或重建VerticalStepperForm库,直接在你的项目代码/资源中配置即可,根据你的需求选择最合适的方式就行~
内容的提问来源于stack exchange,提问作者anta40
相关产品推荐
相关产品推荐

