3

app に textView があります。ここで、クリック時に textView のサイズを変更したいと思います。最大高さと最大幅を指定しましたが、サイズは変更されず、レイアウトで定義された幅と高さが表示されます。どんな助けでもいただければ幸いです

これが私のコードです:

 <TextView
        android:id="@+id/textView2"
        android:layout_width="30dp"
        android:layout_height="40dp"
        android:layout_gravity="fill_horizontal"
        android:layout_marginLeft="10dip"
        android:layout_marginTop="10dip"
        android:text="Hello"/>
4

4 に答える 4

5

論理的に、最大高さと最大幅を変更すると TextView のサイズが変更されるのはなぜですか? あなたが言ったことは、「TextView、好きかどうかに関係なく30dp x 40dpです」です。それから、「ちなみに、いつの日かもっとスペースを確保できれば、40 dp x 50 dp まで上げることができますが、今のところはまだ 30 dp x 40 dp です」と言います。TextView をどれだけ大きくしても、サイズを変更するように指示していないため、30 dp x 40 dp になります。可能な大きさを変更しただけです。

この動作を変更したい場合は、「TextView さん、これらの上限を設定したので、好きなだけ大きくしてください」と言う必要があります。これを行うには、上記/以下に示すように LayoutParams を使用します。

// set the max height
textView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

これは、最大の高さ/幅を制限要因にすることも前提としています。「ちょっとtextView、このサイズにしてください」とだけ言いたい場合は、Ajayの答えがうまくいきます。

于 2013-07-15T05:24:47.070 に答える
2

これをチェックしてください

TV= (TextView) findViewById(R.id.textView2);
TV.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       final LayoutParams lparams = new LayoutParams(50,30); // Width , height
       TV.setLayoutParams(lparams);
    }
});
于 2013-07-15T05:16:08.430 に答える
1

LayoutParamsコードで使用してMATCH_PARENT高さを設定し、次のようなものを追加します

textView.setLayoutParams(layoutParams);
于 2013-07-15T05:17:18.143 に答える
0

プログラムでTextViewsetMaxLines(int)のサイズを変更するために使用できます。

于 2013-07-17T14:01:49.587 に答える