Как заставить View stop расти на высоте родителей? - PullRequest
0 голосов
/ 27 июня 2011

Это код. Точка отсчета высоты родителя. Текст должен расти, пока не достигнет высоты своего родителя. Однако элемент продолжает расти за пределами видимой области.

Нет необходимости публиковать XML-файл, так как есть только одна кнопка и одно текстовое представление.

Кто-нибудь знает, почему текст продолжает расти выше высоты родителя? Что я делаю не так?

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first);

        Display display = getWindowManager().getDefaultDisplay();
        final int screenWidth = display.getWidth();
        final int screenHeight = display.getHeight();

        textView = (TextView) findViewById(R.id.textview);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                int dTextWidth = textView.getWidth();

                if (dTextWidth <= screenHeight) {
                    textView.setTextSize(textView.getTextSize() + 1);
                }
            }
        });
    }

Спасибо


EDIT

Я использовал высоту LinearLayout, и она все еще не работает. Более того, высота LinearLayout равна 0 !!!!!

LinearLayout lin = (LinearLayout) findViewById(R.id.linear_layout);
final int layoutHeight = lin.getHeight();
Toast.makeText(this,"LinLay height: "+layoutHeight,Toast.LENGTH_SHORT).show();
...
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                int displayTextWidth = textView.getWidth();

                if (displayTextWidth <= layoutHeight) {
                    textView.setTextSize(textView.getTextSize() + 1);
                }
            }
        });

1 Ответ

0 голосов
/ 27 июня 2011

Вы сравниваете ширину текста с высотой экрана. Это простая ошибка. Измени это на это.

if (dTextWidth <= screenWidth) {
    textView.setTextSize(textView.getTextSize() + 1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...