Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更改以编程方式在layout.addview上添加的textview的大小_Android - Fatal编程技术网

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

Android 如何更改以编程方式在layout.addview上添加的textview的大小,android,Android,在下面的代码中,我通过编程在layout.addview上添加了textview 我还实现了一个菜单,用户可以通过选择给定的选项之一来选择调整屏幕上文本视图的大小。代码如下: public void createDialogBoxWithRbutton(){ /*totalMsg = countChatWithMsg1 + countChatWithMsg2;*/ AlertDialog.Builder builder = new AlertDialog.Builder(Cha

在下面的代码中,我通过编程在layout.addview上添加了textview

我还实现了一个菜单,用户可以通过选择给定的选项之一来选择调整屏幕上文本视图的大小。代码如下:

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保持其大小不变


原因可能是什么?

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


您的_textview.setTextSize24;//在sp

中,我已经做了类似textview.setTextSize20的操作;但它仍然不起作用。我希望发生的是,当用户从switch case选项单击时,它应该触发textview.setTextSize。但除了我视图中的最后一个文本视图外,它没有发生任何变化。
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();
}