java - Android - 如何使 View 仅填充屏幕的其余部分

标签 java android xml layout view

我有一个自定义 View ,旨在表示一个坐标系。 该 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>

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

编辑:我将像这样在它的 Canvas 上绘制:

 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);

}

这使得大部分内容都粘在可视屏幕之外。

最佳答案

使用

android:layout_weight = "1"

对于 View ,你要占用它的剩余空间。使用 LinearLayout 作为父 View 。其余的 child 不应该有任何重量。

关于java - Android - 如何使 View 仅填充屏幕的其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7821435/

相关文章:

java - appcompat primarycolour 实现

java - 单个或多个 Maven pom.xml 配置文件?

android - 开始在 InputMethodService 中提取文本时出现意外的 null

python - 在另一棵树下插入一棵树(lxml)

xml - JAXB 删除 XmlRootElement 包装器

java - 扑克手牌分析和清理代码

java - 为什么我将 ORG.mongodb.smth 添加到依赖项中,然后导入 COM.mongodb.smth?

java - @SuppressWarnings 用于最终类型参数

java - 在 Java 中,我可以指定任意数量的泛型类型参数吗?

listview中的Android edittext失去了对调用notifydatachanged的关注