Android按钮互相重叠(找到正确的答案)

时间:2014-05-25 08:44:00

标签: android android-layout android-button

我只是关于android按钮布局的一个小问题。我的应用程序中有按钮,我在所有4个方面设置为-5dip。我知道我可以搞乱这些数字,但我想做的就是让它们彼此相邻,没有重叠。我是应用程序构建的新手,任何帮助都会很好。

我的.xml文件正在被引用。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_menuScrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context="com.example.comprehensivezeldachecklist.MainMenu$PlaceholderFragment" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <!-- Zelda -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/Zelda" />
        <!-- Zelda II -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dip"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:text="@string/Zelda2" />
        <!-- A Link to the Past -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/LinkToThePast" />    
        <!-- Link's Awakening -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/LinksAwakening" />            
        <!-- Link's Awakening DX -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/LinksAwakeningDX" />    
        <!-- Ocarina of Time -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/OcarinaOfTime" 
            android:onClick= "OoTMenu"/>    
        <!-- Majora's Mask -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/MajorasMask" />    
        <!-- Oracle of Ages -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/OracleOfAges" />    
        <!-- Oracle of Seasons -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/OracleOfSeasons" />    
        <!-- Four Swords -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/FourSwords" />    
        <!-- Master Quest -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/MasterQuest" />    
        <!-- Wind Waker -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/WindWaker" 
            android:onClick= "WWMenu"/>    
        <!-- Four Swords Adventures -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/FourSwordsAdventures" />    
        <!-- Minish Cap -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/MinishCap" />    
        <!-- Twilight Princess -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/TwilightPrincess" />    
        <!-- Phantom Hourglass -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/PhantomHourglass" />
        <!-- Spirit Tracks -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/SpiritTracks" />
        <!-- Skyward Sword -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/SkywardSword" />
        <!-- Ocarina of Time 3D -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/OcarinaOfTime3D" />
        <!-- Wind Waker HD -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/WindWakerHD" />
        <!-- Link Between Worlds -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="0dip"
            android:layout_marginBottom="0dip"
            android:text="@string/LinkBetweenWorlds" />
    </LinearLayout> 
</ScrollView>

当我说他们互相重叠时,我的意思是:

Overlap

2 个答案:

答案 0 :(得分:1)

在搜索之后,我发现了一些更简单但仍然基本上我想做的事情。我没有调整按钮大小,而只使用无边框按钮。

在.xml文件中,我必须将这行代码添加到我的按钮中:

style="?android:attr/borderlessButtonStyle"

使我的一个按钮的完整代码如下所示:

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/Zelda"
    style="?android:attr/borderlessButtonStyle" />

我所要做的就是在清单中将minSdkVersion更改为11。 (对不起有想要运行此应用程序的旧手机的人。)

现在看来是这样的:

borderless button style

答案 1 :(得分:-1)

您应该使用ListView,然后设置onClick函数来处理每个选项。 以下是如何执行此操作的一个很好的示例: Android - How to create clickable listview?