Я думаю, вы хотите что-то вроде этого:
ImageView imgView = (ImageView) findViewById(R.id.pageImage);
imgView.getLayoutParams().height = 200;
Итак, сначала мы получаем ImageView из XML. Затем getLayoutParams () возвращает вам именно те параметры, которые вы можете редактировать. Вы можете установить их прямо там. То же самое для ширины и т. Д.
Об устройстве (sp, dp ...) я кое-что нашел здесь. Надеюсь, это поможет:
Использовать метрики DIP, SP программно
Там они упоминают, что все единицы являются пикселями. В этом примере он устанавливает минимальную ширину из 20sp следующим образом:
TextView tv0 = new TextView(this);
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20, getResources().getDisplayMetrics());
tv0.setMinimumWidth(px);
P.S. Вот полный код, который я использую. Надеюсь, это то, что вы хотите:
package com.example.testproject2;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imgView = (ImageView) findViewById(R.id.pageImage);
imgView.getLayoutParams().height = 500;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Элемент UIRef был добавлен именно для такого рода вещей. Добавьте атрибут UI / @ Id и элемент UIRef с совпадающим @Id во фрагмент, который включает ваше определение CustomAction.