2015-05-29 2 views
0

Будет ли это работать для изменения размера изображения? Делая какие-нибудь такие как:Изменение размера или высоты изображения, большего или меньшего по нажатию кнопки?

ImageView image = (ImageView) findViewById(R.id.image); 
relativeLayout.addView(image); 

... Затем по нажатию кнопки есть это произойдет:

image.getLayoutParams().width = image.getLayoutParams().width - 10; 

я нажимаю мою кнопку, но ничего, кажется, произошло. Зачем? Каков правильный способ изменения размера изображения вручную?

ответ

1

getLayoutParams() - это метод . Таким образом, вам придется добавлять открывающиеся и закрывающиеся круглые скобки, когда вы его вызываете. Попробуйте это вместо

image.getLayoutParams().width = image.getLayoutParams().width - 10; 

Или просто

image.getLayoutParams().width -= 10; 

Edit: Попробуй как этот

ImageView image = (ImageView) findViewById(R.id.image); 
LayoutParams params = (LayoutParams) image.getLayoutParams(); 
params.width = params.width - 10; 
image.setLayoutParams(params); 
+0

да жаль, что я попробовал, что и он не работает до сих пор, ха-ха. Просто забыл о paranthesis в моем вопросе – Jonny

+0

Посмотрите, работает ли мое редактирование для вас. Кстати, почему у вас есть эта строка 'relativeLayout.addView (изображение);'? Вы произвольно создаете relativeLayout? –

+0

ваше редактирование, похоже, работает только в том, что params.width, по-видимому, начинается с 0 по какой-то причине? Таким образом, мое изображение начнет очень мало, а затем постепенно увеличится. Хотелось заставить его расти с его первоначальной ширины или высоты. И нет, мой родительский макет находится в моем .xml. Я просто назову его, чтобы я мог добавить изображение программно. Извините, я должен добавить, что я сейчас ДОБАВЛЯЮТСЯ к ширине. И он это делает. Когда я СУБТРАКТ по ​​ширине, он также начинается с 0, но не становится меньше, так как он уже равен 0. Странно. – Jonny

Смежные вопросы