Определить, не видна ли какая-либо часть изображения? - PullRequest
0 голосов
/ 27 июня 2011

Можно ли определить, не отображается ли какая-то часть изображения на экране?

Используется в ситуации, когда ширина / высота представления больше, чем ширина / высота его родителя.

EDIT

Я понял, что высота представления равна 0. Кто-нибудь знает почему? Я получаю высоту в onCreate.

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 Ответ

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

Вы можете получить ширину и высоту вида, вызвав View.getWidth() и View.getHeight(), а затем получить размеры устройства следующими способами: Как получить максимальную ширину и высоту устройства в Android

Затем сравните их, и если границы представления больше, чем границы вашего устройства, то некоторые части представления не видны.

В ответ на комментарии:

    textView.post( new Runnable() {

    @Override
    public void run() {

        int displayTextWidth = textView.getWidth();

        // Code that uses width here...
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...