Gridlayout走出屏幕而不是占用imageview

时间:2014-12-29 12:33:29

标签: android xml android-layout android-gridlayout

我有这种布局,其中gridlayout必须位于imageview之上。我已经测量了每一个,以便它适合(关于列数和行数以及列和行跨度)。

不幸的是,网格布局超出了屏幕范围,而不是仅填充图像视图。有什么建议吗?

xml:

<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:background="@drawable/wood"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.luanca.charangomaster.ChordActivity"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/chordin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/dark_plank"
        android:text="@string/choose_root"
        android:textColor="#ffffff" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text=""
        android:visibility="invisible" />

    <Button
        android:id="@+id/chordin2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/dark_plank"
        android:text="@string/choose_type"
        android:textColor="#ffffff" />
</LinearLayout>

<TextView
    android:id="@+id/tip1"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:gravity="center"
    android:text="@string/help" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:scaleType="fitXY"
        android:src="@drawable/chord_box1" />

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignTop="@+id/imageView1"
        android:columnCount="14"
        android:orientation="horizontal"
        android:rowCount="60" >

        <Button
            android:id="@+id/empty1"
            android:layout_column="0"
            android:layout_columnSpan="2"
            android:layout_gravity="fill"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text=""
            android:visibility="invisible" />

        <TextView
            android:id="@+id/fretposition1"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text="1" />

        <TextView
            android:id="@+id/fretposition2"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text="2" />

        <TextView
            android:id="@+id/fretposition3"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text="3" />

        <TextView
            android:id="@+id/fretposition4"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text="4" />

        <TextView
            android:id="@+id/fretposition5"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"
            android:text="5" />

        <Button
            android:id="@+id/empty2"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="0"
            android:layout_rowSpan="8"/>

        <Button
            android:id="@+id/empty3"
            android:text=""
            android:visibility="invisible"
            android:layout_column="0"
            android:layout_columnSpan="1"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret10"
            android:background="@drawable/no_press1"
            android:text=""
            android:textColor="#ffffff"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret11"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret12"
            android:background="@drawable/finger1"
            android:text="2"
            android:textColor="#ffffff"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret13"
            android:background="@drawable/finger1"
            android:text="3"
            android:textColor="#ffffff"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10"/>

        <Button
            android:id="@+id/fret14"
            android:background="@drawable/finger1"
            android:text="4"
            android:textColor="#ffffff"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret15"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty4"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="8"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty5"
            android:text=""
            android:visibility="invisible"
            android:layout_column="0"
            android:layout_columnSpan="1"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret20"
            android:background="@drawable/no_press1"
            android:text=""
            android:textColor="#ffffff"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret21"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret22"
            android:background="@drawable/finger1"
            android:text="2"
            android:textColor="#ffffff"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret23"
            android:background="@drawable/finger1"
            android:text="3"
            android:textColor="#ffffff"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10"/>

        <Button
            android:id="@+id/fret24"
            android:background="@drawable/finger1"
            android:text="4"
            android:textColor="#ffffff"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret25"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty6"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="18"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty7"
            android:text=""
            android:visibility="invisible"
            android:layout_column="0"
            android:layout_columnSpan="1"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret30"
            android:background="@drawable/no_press1"
            android:text=""
            android:textColor="#ffffff"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret31"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret32"
            android:background="@drawable/finger1"
            android:text="2"
            android:textColor="#ffffff"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret33"
            android:background="@drawable/finger1"
            android:text="3"
            android:textColor="#ffffff"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10"/>

        <Button
            android:id="@+id/fret34"
            android:background="@drawable/finger1"
            android:text="4"
            android:textColor="#ffffff"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret35"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty8"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="28"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty9"
            android:text=""
            android:visibility="invisible"
            android:layout_column="0"
            android:layout_columnSpan="1"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret40"
            android:background="@drawable/no_press1"
            android:text=""
            android:textColor="#ffffff"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret41"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret42"
            android:background="@drawable/finger1"
            android:text="2"
            android:textColor="#ffffff"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret43"
            android:background="@drawable/finger1"
            android:text="3"
            android:textColor="#ffffff"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10"/>

        <Button
            android:id="@+id/fret44"
            android:background="@drawable/finger1"
            android:text="4"
            android:textColor="#ffffff"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret45"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty10"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="38"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty11"
            android:text=""
            android:visibility="invisible"
            android:layout_column="0"
            android:layout_columnSpan="1"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret50"
            android:background="@drawable/no_press1"
            android:text=""
            android:textColor="#ffffff"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret51"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="2"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret52"
            android:background="@drawable/finger1"
            android:text="2"
            android:textColor="#ffffff"
            android:layout_column="4"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret53"
            android:background="@drawable/finger1"
            android:text="3"
            android:textColor="#ffffff"
            android:layout_column="6"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10"/>

        <Button
            android:id="@+id/fret54"
            android:background="@drawable/finger1"
            android:text="4"
            android:textColor="#ffffff"
            android:layout_column="8"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/fret55"
            android:background="@drawable/finger1"
            android:text="1"
            android:textColor="#ffffff"
            android:layout_column="10"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10" />

        <Button
            android:id="@+id/empty12"
            android:text=""
            android:visibility="invisible"
            android:layout_column="12"
            android:layout_columnSpan="2"
            android:layout_row="48"
            android:layout_rowSpan="10" />
    </GridLayout>
</RelativeLayout>
</LinearLayout>

编辑:如果不清楚,我希望它总是占用与imageview相同的空间

1 个答案:

答案 0 :(得分:0)

试试这个,

将GridLayout代码替换为此代码,您可以在ImageView上看到视图

   <GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignTop="@+id/imageView1"
        android:columnCount="70"
        android:orientation="horizontal"
        android:rowCount="60" >

希望这就是你想要的......