Что происходит с setScaleX / setScaleY?

При попытке найти решение для макета, которое я хочу, я наткнулся на методы setScaleX / setScaleY, которые являются членами класса View.

Просмотр класса doc

Теперь, глядя на методы RelativeLayout и фильтрации по API-уровню 8, поскольку я разрабатываю приложение для> = 2.2, указанные методы исчезают. Но при просмотре « Унаследованные атрибуты XML из класса android.view.View » доступны свойства android: scaleX / android: scaleY. К сожалению, попытка использования этих свойств не работает, и Eclipse говорит: «ошибка: идентификатор ресурса не найден для атрибута« scaleX »в пакете« андроид »»

RelativeLayout класс doc

Таким образом, похоже, что документация противоречива, и scaleX / scaleY недоступны до 3.0 или я что-то не хватает?

Solutions Collecting From Web of "Что происходит с setScaleX / setScaleY?"

Я столкнулся с аналогичной проблемой, когда я попытался установить представление с начальным значением scaleX перед воспроизведением любых анимаций, однако view.setScaleX () с тех пор, как уровень API уровня 11 приближается к @ Dr.J.

Если вы хотите использовать API Honeycomb Animation на более ранних уровнях API, попробуйте NineOldAndroids по адресу http://nineoldandroids.com/ . Основываясь на этой библиотеке opensource, существует обходное решение, обеспечивающее представление начального scaleX.

ObjectAnimator.ofFloat(getMyButton(), "scaleX", 1f, 0f).setDuration(1).start(); 

Хорошо, похоже, что это ложное представление в документах, поскольку здесь объясняется, что scaleX / scaleY – это свойства, добавленные в класс View с помощью Honeycomb и, к сожалению, недоступные в Froyo.

Нет, Документы правы:

Public void setScaleX (float scaleX) С: API уровня 11

Froyo – это уровень API 8.

NineOldAndroid устарел в соответствии с его ссылкой github NineOldAndroid

Использовать Android Support library вместо NineOldAndroid

Поэтому вы должны использовать ViewCompat вместо ViewHelper

Просто измените:

 view.setScaleX(2); 

или

 ViewHelper.setScaleX(view,2); 

чтобы:

 ViewCompat.setScaleX(view,2); 

Надеюсь, поможет

Используйте com.nineoldandroids.view.ViewHelper для более старых API:

 ViewHelper.setScaleY(myButton, 0.01f);