在下面的代码中,我以编程方式在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
保持其大小。
这可能是什么原因?
答案 0 :(得分:0)
您可以使用simple属性以编程方式设置文本大小
your_textview.setTextSize(24); //在sp