2016-08-01 34 views
0

我创建了类customTextView extent TextView 并且我将textAlignment设置为居中。 在onMeasure我改变了textview的宽度。setGravity after setMeasuredDimension不起作用

说的TextView对齐更改后向左 我以前this.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); ,但它并没有改变,以中心

回答

0

添加下面的代码在你的类。

Runnable runnable = new Runnable() { 
      public void run() { 
       view.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
      } 
    }; 

Handler handler = new Handler(); 
handler.postDelayed(runnable,1000); 
0

是这样的?

@Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 

     ImageView imageView = (ImageView)((Activity) context).findViewById(R.id.list_r); 
     int imageViewHeight = imageView.getMeasuredWidth(); 

     int parentWidth = MeasureSpec.getSize(widthMeasureSpec); 
     int parentHeight = MeasureSpec.getSize(heightMeasureSpec); 

     int final_width = parentWidth - 2*imageViewHeight; 
     this.setMeasuredDimension(final_width, parentHeight); 

     Runnable runnable = new Runnable() { 
      public void run() { 
       view.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
      } 
     }; 

     Handler handler = new Handler(); 
     handler.postDelayed(runnable,1000); 
    } 
+0

是的,更新textview对象,而不是视图。 –

+0

它'工作只是为了第一页,但当时滚动页面,而不是工作 –

+0

更新处理程序时间1000到100 .. –

相关问题