ImageView规模问题

时间:2013-09-23 00:01:46

标签: android

我有一个ImageView(原始大小:500 x 80)。我正在改变它的宽度参数:

imageView1.getLayoutParams().width=(int) (500.0*width_proc);

当我使用ImageView.getWidth()时,结果是555,这是完美的。

当我使用ImageView.getHeight()时,结果仍为80.即使图像被自动重新缩放,它也不会更新为新值。

我尝试添加Sleep(100),使用ImageView.getViewTreeObserver().addOnGlobalLayoutListener,或添加measure()功能,但无效。

代码如下所示:

...

    @Override    
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    View myView=this.findViewById(android.R.id.content);
    myView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
              public void onGlobalLayout() {
                  BuildGraphInterface();
             }
          });
    }

........

public void BuildGraphInterface()
{
   .......
   //================= search 1 ===========================//
    ImageView imageView1 = (ImageView) findViewById(R.id.imageview1);
    imageView1.getLayoutParams().width=(int) (500.0*width_proc);
    imageView1.requestLayout();
    imageView1.invalidate();

    TextView textView1 = (TextView) findViewById(R.id.textview1);
    textView1.setText( " " + imageView1.getHeight() + " " + imageView1.getWidth() );
   .......
}

0 个答案:

没有答案