如何更改以编程方式添加到layout.addview上的textview的大小

时间:2018-08-08 14:43:35

标签: android

在下面的代码中,我以编程方式在textview上添加了layout.addview

textView = new TextView(Chat.this);
/*textView.setTypeface(null, Typeface.BOLD);*/
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
    getResources().getDimension(R.dimen.original));
textView.setText(message);
final ImageView imgView = new ImageView(Chat.this);

LinearLayout childLayout = new LinearLayout(Chat.this);
LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(
    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.setMargins(0, 0, 0, 0);

LinearLayout.LayoutParams LPimgView = new LinearLayout.LayoutParams(
    100,
    100 /*ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT*/);

我还实现了一个菜单,用户可以通过选择给定的选项之一来选择在屏幕上调整textviews的大小。这是代码:

public void createDialogBoxWithRbutton(){
    /*totalMsg = countChatWithMsg1 + countChatWithMsg2;*/

    AlertDialog.Builder builder = new AlertDialog.Builder(Chat.this);
    builder.setTitle("Select From the Options");
    builder.setSingleChoiceItems(values, -1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int item) {
            /*for(int i = 0; i < layout.getChildCount(); i++){
                Toast.makeText(Chat.this, "Total messages: " + i, Toast.LENGTH_SHORT).show();
            }*/
            switch (item){
                case 0:
                    textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.font1));
                    /*textSize = 15;*/
                    break;
                case 1:
                    textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.font2));
                    /*textSize = 20;*/
                    break;
                case 2:
                    textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.font3));
                   /* textSize = 30;*/
                    break;
            }
            alertDialog1.dismiss();
        }
    });
    alertDialog1 = builder.create();
    alertDialog1.show();
}

但是发生的是,当我单击一个选项时,仅更改了布局视图中的textview。另一个textview保持其大小。

这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

您可以使用simple属性以编程方式设置文本大小

your_textview.setTextSize(24); //在sp