我想将 GraphView 插入 LinearLayout 以在屏幕上显示它( graph ),并且由于 GraphView 的限制,我不能为我的 LinearLayout 使用 android:layout_height="wrap_content" 所以我将使用 LinearLayout.setScaleY 代码使 GraphView 填满屏幕。现在,我想问:
--- 有没有更好的方法让 LinearLayout 在没有 android:layout_height="wrap_content" 代码的情况下填满屏幕?
如果没有,我怎样才能获得活动的真实可用高度以在我的代码中使用它而不是 metrics.heightPixels ?+ 我已经设置了 LinearLayout 500dp 的高度,所以我在我的代码中使用了 500...
我的代码在这里:
LinearLayout mLL = (LinearLayout) findViewById(R.id.mLL);
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
mLL.setScaleY(metrics.heightPixels/(float)500);
mLL.addView(mGraphView);
谢谢你 :)
解决了 !(由于声誉低,我要等几个小时才能回答我的问题,所以我编辑了我的帖子...... :))
我必须像这样在 XML 文件中定义 LinearLayout:
<LinearLayout
android:id="@+id/mLinearLayout"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_above="@+id/mlinearLayout2"
android:layout_below="@+id/title"
android:layout_centerHorizontal="true"
android:orientation="vertical" >
如您所见,我一起使用了 android:layout_height="100dp" 和 android:layout_above="@+id/mlinearLayout2" (我在 mLinearLayout 下使用了另一个线性布局)代码,然后在 FullScreen 中无需任何 ForceClose 即可查看 Graph LinearLayout :) 我希望这篇文章可以帮助其他人通过一些代码更改轻松解决他们的类似问题!:)
我也发现了这一点:如果你想获得 LinearLayout 高度,你可以使用这个代码:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus == true) {
LinearLayout myLinearLayout = (LinearLayout) findViewById(R.id.myLinearLayout);
int layoutWidth = myLinearLayout.getWidth();
int layoutHeight = myLinearLayout.getHeight();
}
}