有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android初学者:布局按钮和文本

我正在尝试创建一个应用程序,其中有一行按钮,然后直接在按钮中心下方显示文本。到目前为止,我的情况如下:

<FrameLayout
    安卓:layout_width="fill_parent"
    安卓:layout_height="wrap_content" >

    <Button
        安卓:id="@+id/button1"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="@drawable/blue"/>

    <Button
        安卓:id="@+id/button2"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="@drawable/red" 安卓:layout_gravity="center"/>

    <Button
        安卓:id="@+id/button3"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="@drawable/green" 安卓:layout_gravity="right"/>

</FrameLayout>

<RelativeLayout
    安卓:layout_width="fill_parent"
    安卓:layout_height="wrap_content" >

    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentTop="true"
        安卓:layout_marginTop="2.5dip"                       
        安卓:layout_marginLeft="7.5dip"
        安卓:text="@string/button1"
        安卓:gravity="center" />
    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:layout_alignParentTop="true"
        安卓:layout_centerHorizontal="true"
        安卓:layout_marginTop="2.5dip"
        安卓:text="@string/button2" />

    <TextView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentTop="true" 
        安卓:layout_marginTop="2.5dip"           
        安卓:layout_marginRight="5dip"
        安卓:text="@string/button3" />

</RelativeLayout>

但是文本并没有在按钮的中心对齐。有人能帮忙吗


共 (3) 个答案

  1. # 1 楼答案

    绘制时,您应该能够使用两个属性将它们居中对齐:重力和布局重力。 仅仅使用一个重心属性并不是每次都有效,但是通过使用这两个属性,它应该像对我一样对你有吸引力

    android:gravity="center" android:layout_gravity="center"
    
  2. # 2 楼答案

    如果您使用的是Eclipse,则可以转到布局的图形视图。xml,右键单击要居中的视图,转到布局垂直或水平,然后单击重力->;中锋

  3. # 3 楼答案

    首先,在一个框架布局中使用几个child从来都不是一件好事。如果可以,您应该使用LinearLayout。如果您想让按钮填充屏幕宽度的三分之一,可以使用

    <LinearLayout 
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:weightsum="3" >
    
         <Button
           android:id="@+id/button1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="@drawable/blue"
           android:weight="1"/>
    
         <Button
           android:id="@+id/button2"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="@drawable/red"
           android:weight="1"/>
    
         <Button
           android:id="@+id/button3"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="@drawable/green"
           android:weight="1"/>
    </LinearLayout>
    

    然后对于文本视图,您可以再次使用LinearLayout,但更改方向

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:orientation="vertical" >
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="2.5dip"                       
        android:layout_marginLeft="7.5dip"
        android:text="@string/button1"
        android:layout_gravity="center" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="2.5dip"
        android:text="@string/button2"
        android:layout_gravity="center" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" 
        android:layout_marginTop="2.5dip"           
        android:layout_marginRight="5dip"
        android:text="@string/button3"
        android:layout_gravity="center" />
    
    </LinearLayout>
    

    如果我没有错,这可能会解决你的问题