在我的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,但它有权重,因此,实际宽度不应为0.那么如何获得像素数量,实际上是ImageView
?< / p>
如代码所示,我尝试getMeasuredWidth
,getWidth
,但他们返回0;
答案 0 :(得分:0)
由于您在将任何图像设置到视图之前测量 ImageView 的宽度,这就是 getMeasuredWidth 返回0的原因。在 XML 中,您将layout_width设置为“0dip”所以在将任何图像设置为此ImageView之前,它的宽度将保持为“0dip”。