Android - 如何使视图仅填充屏幕的其余部分

时间:2011-10-19 12:38:40

标签: java android xml layout view

我有一个自定义视图,用于表示坐标系。 该视图用于我的一个xml文件中。 这里有一些来自xml文件:

...lots of diff views..
 <org.test.ScreenProximityView android:layout_below="@+id/screen_proximity_orix_edit"
          android:layout_alignParentLeft="true" android:id="@+id/proxTest" 
          android:layout_marginTop="70dp" android:layout_height="match_parent" 
          android:layout_width="match_parent">
</org.test.ScreenProximityView>
</RelativeLayout>

问题是,我希望我的视图仅填充屏幕的其余部分。当我使用match_parent时,我会得到一个与屏幕一样大的视图,但是有一半会在屏幕外“剪切”。 那么如何调整视图大小以使其适合屏幕的其余部分?

编辑:我将在画布上画这样:

 public void onDraw(Canvas canvas) {
      canvas.drawLine(0, 0, canvas.getWidth(), 0, mPaint);
         canvas.drawLine(0, 0, 0, canvas.getHeight(), mPaint);
         canvas.drawLine(0, canvas.getHeight(), canvas.getWidth(), canvas.getHeight(), mPaint);
         canvas.drawLine(canvas.getWidth(), canvas.getHeight(), canvas.getWidth(), 0, mPaint);
         canvas.drawLine(canvas.getWidth()/2, 0, canvas.getWidth()/2, canvas.getHeight(), mPaint);
         canvas.drawLine(0, canvas.getHeight()/2, canvas.getWidth(), canvas.getHeight()/2, mPaint);

}

这使得大部分内容都会在可视屏幕上显示出来。

1 个答案:

答案 0 :(得分:5)

使用

android:layout_weight = "1"

表示要占用剩余空间的视图。与LinearLayout一起使用作为父视图。其余的孩子不应该有任何重量。