是否可以(或可接受)在 GridLayout 的顶部填充区域顶部添加图像?
我有一个类似于计算器的 GridLayout - 有很多按钮,而且我有一个背景,使计算器看起来像是由金属制成的。我想做的就是在计算器顶部放置一个屏幕图像。
到目前为止,我已经使用了 setPadding() 方法,以便所有按钮都显示在屏幕下方,为屏幕留出足够的空间。我想我应该做的是在 GridLayout 中为屏幕创建一个新行,但我想知道:是否可以在该填充区域中的 GridLayout 顶部添加 ImageView,或者这是一个很大的“不不”并且我应该创建一个新行吗?
.. buttons already added to gridLayout
gridLayout.setBackground( drawableMetalBackground );
ImageView iv = new ImageView( this ); // 'this' context should be gridLayout context??
iv.setBackground( npdScreen );
iv.layout( 0, 0, 300, 100 ); // Hardcode positions for example
gridLayout.addView( iv );
我想说的正确解决方案是为 ImageView 使用单独的行。这就是我所做的,它对我来说效果很好。
这里有一个 XML 布局供您使用。
GridLayout
元素只是示例,但您可以将其用于您的目的,将其更改为计算器的按钮。
如您所见,
LinearLayout
的方向设置为垂直,layout_width
和layout_height
设置为match_parent
,这意味着两者都会占据整个屏幕。四周还有填充物,以与屏幕边缘保持距离。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:orientation="vertical">
<ImageView
android:id="@+id/imageview"
android:layout_width="match_parent"
android:layout_height="80dp"
android:background="@drawable/Lighthouse"
android:layout_marginBottom="10dp"/>
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount="4"
android:orientation="horizontal" >
<Button
android:layout_column="3"
android:text="/" />
<Button android:text="1" />
<Button android:text="2" />
<Button android:text="3" />
<Button android:text="*" />
<Button android:text="4" />
<Button android:text="5" />
<Button android:text="6" />
<Button android:text="-" />
<Button android:text="7" />
<Button android:text="8" />
<Button android:text="9" />
<Button
android:layout_gravity="fill"
android:layout_rowSpan="3"
android:text="+" />
<Button
android:layout_columnSpan="2"
android:layout_gravity="fill"
android:text="0" />
<Button android:text="00" />
<Button
android:layout_columnSpan="3"
android:layout_gravity="fill"
android:text="=" />
</GridLayout>
这是此 XML 布局的最终结果。
ImageView
上的图像背景只是我放置在可绘制文件夹中的简单图像。
希望对您有帮助。