在按钮

时间:2016-06-02 08:22:27

标签: java android layout

我用10个按钮做了一个布局。在这些按钮中,我有图标,显示内部信息的内容。在这些按钮下,我希望再说一遍。

我不知道如何添加文本视图并将它们准确地放在这些按钮下面。我从布局中尝试过,只需按下Textview并将其放在按钮下面,但是这样我的整个布局都向下,并且位置不在它下方,但略微偏离它。 希望有人能帮助我,感谢各种帮助。

这是我的布局,红圈是我想要文字的地方。

Click here to see the image

这是我的代码:

<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:orientation="vertical"
    tools:context="com.example.rodekruis.MainActivity"
    android:background="@drawable/rkzafbeelding">


   <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.rodekruis.MainActivity">

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

    <ImageView
        android:id="@+id/imageButton1"
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_marginBottom="20dp"
        android:layout_marginRight="40dp"
        android:layout_marginTop="10dp"
        android:layout_gravity="right" 
        android:src="@drawable/informatiebutton" />

    <ImageView
        android:layout_marginBottom="50dp"
        android:layout_width="150dp"
        android:layout_height="100dp"
        android:layout_marginLeft="1dp"
        android:layout_marginTop="1dp"
        android:scaleType="fitStart"
        android:src="@drawable/logoversiejuni" />

 </FrameLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="0dp"
        android:orientation="horizontal">

        <ImageButton

            android:id="@+id/button10"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button10"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/afspraakbutton"
            android:text="  Afspraak   maken" />


        <ImageButton

            android:id="@+id/button8"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/bezoektijdenbutton"
            android:text="  Bezoek  tijden" />

          <ImageButton

            android:id="@+id/button9"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/contactbutton"
            android:text="  Contact" />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="20dp"
        android:orientation="horizontal">

        <ImageButton

            android:id="@+id/button3"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/routebutton"
            android:text="Route" />

        <ImageButton

            android:id="@+id/button4"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/meningbutton"
            android:text="Uw mening" />

        <ImageButton

            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/vriendenbutton"
            android:text="Word vriend" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">

        <ImageButton

            android:id="@+id/button5"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/foldersbutton"
            android:text="Folders" />

        <ImageButton

            android:id="@+id/button6"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/specialistenbutton"
            android:text="Specialisten" />

        <ImageButton

            android:id="@+id/button7"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/bwcbutton"
            android:text="Brandwond  encentrum" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:orientation="horizontal">

        <ImageButton

            android:id="@+id/button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/nieuwsbutton"
            android:text="Nieuws en Agenda" />
     </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="40dp"
        android:orientation="horizontal">

        <ImageButton

            android:id="@+id/button11"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/afspraakbutton"
            android:text="Facebook" />

        <ImageButton

            android:id="@+id/button12"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/afspraakbutton"
            android:text="Youtube" />

        <ImageButton

            android:id="@+id/button13"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/afspraakbutton"
            android:text="Twitter" />

        <ImageButton

            android:id="@+id/button14"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_alignTop="@+id/button8"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
             android:layout_marginTop="0dp"
             android:adjustViewBounds="true"
            android:padding="5dp"
            android:scaleType="fitCenter"
            android:src="@drawable/afspraakbutton"
            android:text="LinkedIn" />

    </LinearLayout>


</LinearLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码并检查它是否有效吗?

<TextView
    android:id="@+id/TextView"
    android:layout_width="50dp"
    android:layout_height="30dp"  --> you can change the size that you want
    android:layout_below="@+id/imageButton1" --> you can change the size that you want
    android:textAlignment="center" />

答案 1 :(得分:0)

您可以尝试在布局中使用TextViews,并使用以下方法将图标添加为复合drawable:

textView.setCompoundDrawables(null, yourIconDrawable, null, null);

这会将您的drawable放在文本的顶部。要在其上设置可绘制调用setBounds(...)的大小,或在TextView上使用setCompoundDrawablesWithIntrinsicBounds(...)。您还可以使用setCompoundDrawablePadding(int padding)设置填充。

答案 2 :(得分:0)

试试这个但是这不是创建这种类型视图的正确方法创建使用GridView的最佳方法

<LinearLayout
    android:weightSum="3"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="113dp">


    <LinearLayout
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_width="100dp"
        android:layout_height="100dp">

        <ImageButton
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center_horizontal"
            android:src="@mipmap/ic_launcher"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Title "/>
    </LinearLayout>

    <LinearLayout
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_width="100dp"
        android:layout_height="100dp">

        <ImageButton
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center_horizontal"
            android:src="@mipmap/ic_launcher"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Title "/>
    </LinearLayout>

    <LinearLayout
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_width="100dp"
        android:layout_height="100dp">

        <ImageButton
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center_horizontal"
            android:src="@mipmap/ic_launcher"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Title "/>
    </LinearLayout>

</LinearLayout>

答案 3 :(得分:0)

有很多方法可以实现这一点,最常见的方法之一是使用FrameLayout,另一种常见的方法是使用RelativeLayout,这将使您能够预定义视图根据彼此的位置(即哪一个在另一个之上),以下是关于如何使用RelativeLayout来达到目的的一个很好的例子:

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <!-- Add   Button 1 -->

    <Button
        android:id="@+id/button1"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_alignParentTop="true"
        android:src="@drawable/image1" />

    <!-- Add  Text 1 -->

    <TextView
        android:id="@+id/text1"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_below="@id/button1"
        android:text="text1" />

</RelativeLayout>