В моем приложении для Android я попытаюсь опубликовать некоторые данные по ButtonClick
.Получить расчетную ширину динамически добавленного элемента пользовательского интерфейса
Я создал отдельную раскладку:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TableLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3" >
<TableRow>
<TextView
android:id="@+id/TV1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strTV1" />
</TableRow>
</TableLayout>
<ImageView
android:id="@+id/overallPortraitIV"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:contentDescription="@string/strPortrait"/>
</LinearLayout>
Моего OnClick событие:
View view = getLayoutInflater().inflate(R.layout.overall_rfid_layout, null);
overallResultTab.addView(view);
ImageView portraitImage=(ImageView)view.findViewById(R.id.overallRfidPortraitIV);
decodedByte = scaleToFitWidth(decodedByte, portraitImage.getMeasuredWidth());
portraitImage.setImageBitmap(decodedByte);
Как вы видите, моя ширина ImageView устанавливаются в 0, но он имеет вес, поэтому, factical ширина не должно быть 0. Итак, как получить количество пикселей, которое фактически занято ImageView
?
Как показано в коде, я пробовал getMeasuredWidth
, также, getWidth
, но они возвращают 0;
И в этом случае вес не имеет никакого эффекта? –
нет ... это не имеет никакого эффекта. Это будет осуществляться весом только тогда, когда ImageView имеет изображение. –
Но как решить ситуацию, когда я хочу поместить изображение в ImageView без какого-либо эффекта в макет? В моем случае ImageView занимает 1/4 ширины экрана - как сделать изображение одинаково широким? –