0

单击按钮时,我正在尝试更改文本大小。xml:

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="hello_world"

   android:textSize="30sp"
   android:layout_margin=""/>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="72dp"
    android:layout_toLeftOf="@+id/textView1"
    android:text="Button1" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/button1"
    android:layout_toRightOf="@+id/textView1"
    android:text="Button2" />

这是我的代码:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtmain=(TextView)findViewById(R.id.textView1);
    txtmain.setTextSize(TypedValue.COMPLEX_UNIT_SP ,30);

    //txtmain.setTextSize(TypedValue.COMPLEX_UNIT_SP ,30);

    txtmain.setTextAppearance(getApplicationContext(), 12);
    btn1=(Button)findViewById(R.id.button1);
    btn2=(Button)findViewById(R.id.button2);
    txtmain.setBackgroundColor(Color.YELLOW);
    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            txtmain=(TextView)findViewById(R.id.textView1);


            txtmain.setTextSize(TypedValue.COMPLEX_UNIT_SP ,30);
            System.out.println("txtmain get height:"+txtmain.getHeight());
            //Toast.makeText(getApplicationContext(),"txtmain get 
            //height:"+txtmain.getHeight() , Toast.LENGTH_LONG).show();
        }
    });

    btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            txtmain=(TextView)findViewById(R.id.textView1);

            txtmain.setTextSize(TypedValue.COMPLEX_UNIT_SP ,80);
            System.out.println("txtmain get height:"+txtmain.getHeight());
            //Toast.makeText(getApplicationContext(),"txtmain get 
             //height:"+txtmain.getHeight() , Toast.LENGTH_LONG).show();
        }
    });

当我单击按钮 1 时,它会提供正确的输出,但是当我在单击按钮 1 后单击按钮 2 时,输出会发生变化。

这是我的输出:

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

4

3 回答 3

1

问题是

 txtmain.setHeight(41);

在第一次单击按钮时,它会将文本视图的高度从WRAP CONTENT 固定大小更改。删掉就好了。。

于 2013-05-08T10:51:31.590 回答
1

这似乎与 ICS 上已知的已知问题非常相似,请参阅https://code.google.com/p/android/issues/detail?id=22493https://code.google.com/p/ android/issues/detail?id=17343。其中第二个建议解决方法是在文本视图中的文本中添加“\n”。阅读这些页面和它们链接的页面可能有助于为您解决问题。

于 2013-05-08T12:59:50.777 回答
0

为什么在单击button1时设置文本框高度?

于 2013-05-08T10:48:02.927 回答