2017-01-06 10 views
0

У меня есть приложение, в котором я добавляю кнопки в свой макет программно, чтобы обеспечить правильное выполнение интервалов. В этом методе я использую метод setText для изменения своего текста. однако этот текст не отображается. Here's what's being createdПрограммно добавленные кнопки, не отображающие текст

Вот код, я использую:

public void addButtons() { 
    Button update = new Button(this); 
    RelativeLayout.LayoutParams updateParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    updateParams.addRule(RelativeLayout.CENTER_VERTICAL); 
    update.setLayoutParams(updateParams); 
    update.setPadding(padding, 0, 0, 0); 
    update.setText("Update Me!"); 
    update.setTextColor(Color.BLUE); 
    update.setOnClickListener(new ClickHandler("install_install", this)); 
    updateId = update.generateViewId(); 
    update.setId(updateId); 
    layout.addView(update); 

    Button install = new Button(this); 
    RelativeLayout.LayoutParams installParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    installParams.addRule(RelativeLayout.RIGHT_OF, update.getId()); 
    installParams.addRule(RelativeLayout.CENTER_VERTICAL); 
    install.setLayoutParams(installParams); 
    install.setPadding(padding, 0, 0, 0); 
    install.setText("Install LastBox"); 
    install.setTextColor(Color.BLUE); 
    install.setOnClickListener(new ClickHandler("lastbox_install", this)); 
    installId = install.generateViewId(); 
    install.setId(installId); 
    layout.addView(install); 

    Button dlFamily = new Button(this); 
    RelativeLayout.LayoutParams dlFamilyParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    dlFamilyParams.addRule(RelativeLayout.RIGHT_OF, install.getId()); 
    dlFamilyParams.addRule(RelativeLayout.ABOVE, install.getId()); 
    dlFamily.setLayoutParams(dlFamilyParams); 
    dlFamily.setPadding(padding, 0, 0, padding); 
    dlFamily.setText("Download Family Build"); 
    dlFamily.setTextColor(Color.BLUE); 
    dlFamily.setOnClickListener(new ClickHandler("family_build", this)); 
    dlFamilyId = dlFamily.generateViewId(); 
    dlFamily.setId(dlFamilyId); 
    layout.addView(dlFamily); 

    Button upFamily = new Button(this); 
    RelativeLayout.LayoutParams upFamilyParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    upFamilyParams.addRule(RelativeLayout.RIGHT_OF, install.getId()); 
    upFamilyParams.addRule(RelativeLayout.BELOW, install.getId()); 
    upFamily.setLayoutParams(upFamilyParams); 
    upFamily.setPadding(padding, padding, 0, 0); 
    upFamily.setText("Update Family Build"); 
    upFamily.setTextColor(Color.BLUE); 
    upFamily.setOnClickListener(new ClickHandler("family_update", this)); 
    upFamilyId = upFamily.generateViewId(); 
    upFamily.setId(upFamilyId); 
    layout.addView(upFamily); 

    Button dlAdult = new Button(this); 
    RelativeLayout.LayoutParams dlAdultParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    dlAdultParams.addRule(RelativeLayout.RIGHT_OF, dlFamily.getId()); 
    dlAdultParams.addRule(RelativeLayout.ABOVE, install.getId()); 
    dlAdult.setLayoutParams(dlAdultParams); 
    dlAdult.setPadding(padding, 0, 0, padding); 
    dlAdult.setText("Download Adult Build"); 
    dlAdult.setTextColor(Color.BLUE); 
    dlAdult.setOnClickListener(new ClickHandler("adult_build", this)); 
    dlAdultId = dlAdult.generateViewId(); 
    dlAdult.setId(dlAdultId); 
    layout.addView(dlAdult); 

    Button upAdult = new Button(this); 
    RelativeLayout.LayoutParams upAdultParams = new RelativeLayout.LayoutParams(size.x/5, 200); 
    upAdultParams.addRule(RelativeLayout.RIGHT_OF, upFamily.getId()); 
    upAdultParams.addRule(RelativeLayout.BELOW, install.getId()); 
    upAdult.setLayoutParams(upAdultParams); 
    upAdult.setPadding(padding, padding, 0, 0); 
    upAdult.setText("Update Adult Build"); 
    upAdult.setTextColor(Color.BLUE); 
    upAdult.setOnClickListener(new ClickHandler("adult_update", this)); 
    upAdultId = upAdult.generateViewId(); 
    upAdult.setId(upAdultId); 
    layout.addView(upAdult); 
} 
+0

Пожалуйста, проверьте накладку, которую вы применили. Может быть, текст отображается за пределами кнопки из-за заполнения. –

ответ

0

Я обнаружил, что установка размера текста на кнопке сделал текст. Я предполагаю, что он по умолчанию был размером 0?

0

Ваш код прекрасно, насколько вы объявляете расположение правильно здесь код базового образца на вашем проекте

LinearLayout layout; 
    layout = (LinearLayout) findViewById(R.id.mainLinear); 
    layout.setOrientation(LinearLayout.VERTICAL); 

Теперь метод addButtons

public void addButtons() { 
     Button update = new Button(this); 
     RelativeLayout.LayoutParams updateParams = new RelativeLayout.LayoutParams(100, 200); 
     updateParams.addRule(RelativeLayout.CENTER_VERTICAL); 
     update.setLayoutParams(updateParams); 
     update.setPadding(0, 0, 0, 0); 
     update.setText("Update Me!"); 
     update.setTextColor(Color.BLUE); 
     update.setOnClickListener(new ClickHandler("install_install", this)); 
     updateId = update.generateViewId(); 
     update.setId(updateId); 
     layout.addView(update); 
    } 
+1

Я не понимаю, что вы пытаетесь показать мне здесь. Это ничего не отвечает или не объясняет проблему. –

+2

Могу ли я попросить вас добавить еще какой-нибудь контекст вокруг вашего ответа. Кодовые ответы трудно понять. Это поможет читателю и будущим читателям, если вы сможете добавить дополнительную информацию в свой пост. – RBT

+0

С обновлением это стало более неоднозначным. Насколько я могу сказать, вы просто скопировали мой код и выразили его как ответ? –

 Смежные вопросы

  • Нет связанных вопросов^_^