如何从Horizo​​ntalScrollView中获取屏幕宽度

时间:2014-05-15 11:49:40

标签: android layout

我想创建一个包含多个元素的视图,其中可以比屏幕宽。因此我把它放在HorizontalScrollView

<HorizontalScrollView
        android:layout_width="fill_parent"
        android:layout_height="400dp"
        android:id="@+id/horizontalScrollView" >

<view class="com.hb.examples.myapplication2.app.ui.controls.LineGraphView"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:id="@+id/line_chart"/>

</HorizontalScrollView>

包含的视图可以变宽,但不是必须的。当它小于屏幕时我希望尽可能宽,而不显示滚动条。那么如何让Screenwidth通过setMeasuredDimension中的onMeasure返回Android?

1 个答案:

答案 0 :(得分:0)

由于您已进入视图,因此可以从与视图相关联的上下文中检索display metrics

WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
setMeasuredDimension(metrics.widthPixels, MeasureSpec.getSize(heightMeasureSpec));