如何在Android中获取ViewPager的大小

时间:2014-01-09 08:29:07

标签: android-viewpager

我正在尝试使用此代码获取ViewPager的大小:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    app = new AppsLoader(getApplicationContext());
    ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
    RelativeLayout relative_main= (RelativeLayout) findViewById(R.id.relative_main);
    layoutWidth = viewPager.getWidth();
    Toast.makeText(this,String.valueOf(layoutWidth),Toast.LENGTH_LONG).show();
}

结果:0

如何获得ViewPager的大小?

1 个答案:

答案 0 :(得分:0)

您尝试在绘制之前获取ViewPager宽度,因此返回的宽度值始终为0.所有View个对象都会出现此行为。

您需要做的是在绘制ViewPager之后获取该值。

onCreate()方法中尝试此操作:

    int layoutWidth = viewPager.getWidth();

    viewPager.post(new Runnable() {
        @Override
        public void run() {
            Log.d("Check my ViewPager Width", "width " + viewPager.getMeasuredWidth());
            }
        });

这是有效的,因为直到布局(因此,您的ViewPager)被绘制后,runnable才会执行。

看看它是否有帮助。