两个按钮之间的android布局textview

时间:2013-09-11 11:19:22

标签: android xml android-layout

我有两个按钮和单个textview的comman标题。 textview位于屏幕的中心。按钮1位于父级的右侧,button2位于父级的左侧。

现在,我想在父级中心显示文本视图,而不是在两个按钮之间的空间中心。

textview中的文本长度可以是3个单词,也可以是10个单词。

我不想在两个按钮上方重叠textview,而长度超过10个单词。 而且我想在屏幕中央放置textview,而只有3个单词。

当我使用下面的代码时,如果只有3到4个单词,则不会在屏幕中央水平显示textview,但是当代码超过10个单词时,代码也不会重叠。

<RelativeLayout 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"
    tools:context=".Webviewdemo" >

    <ImageView
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@drawable/backbtn" />

    <ImageView
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@drawable/infobtn" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_toLeftOf="@+id/button2"
        android:layout_toRightOf="@+id/button1"
        android:gravity="center"
        android:singleLine="true"
        android:text="123"
        android:textSize="22sp"/>

</RelativeLayout>

以同样的方式使用下面的代码时,如果只有3到4个单词但代码重叠超过10个单词时,它会在屏幕中央水平显示textview。

<RelativeLayout 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"
    tools:context=".Webviewdemo" >

    <ImageView
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@drawable/backbtn" />

    <ImageView
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@drawable/infobtn" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:singleLine="true"
        android:text="123"
        android:textSize="22sp" />

</RelativeLayout>

所以,我的问题是如何用单一代码实现上述两件事。

  1. 当有更多单词时,Textview不应重叠。
  2. Textview应该在中心,而没有任何单词。
  3. 我希望你们都能解决我的问题。如果有任何查询请问。

4 个答案:

答案 0 :(得分:0)

试试这段代码

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:layout_toLeftOf="@+id/button2"
    android:layout_toRightOf="@+id/button1"
    android:gravity="center"
    android:singleLine="true"
    android:text="123"
    android:textSize="22sp"/>

修改 删除此行

  android:layout_centerInParent="true"

答案 1 :(得分:0)

   Use This Code 

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1" 
        android:gravity="left">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:gravity="center">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="right" >

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

试试这个(没有centerInParent

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/button2"
    android:layout_toRightOf="@+id/button1"
    android:gravity="center"
    android:singleLine="true"
    android:text="123"
    android:textSize="22sp"/>

答案 3 :(得分:0)

 <LinearLayout
    android:id="@+id/panelIconLeft1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_margin="5dp" >

    <Button
        android:id="@+id/btnHome1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:text="LOCATION"
        android:onClick="btnHomeClick" />
</LinearLayout>

<TextView
    android:id="@+id/txtHeading1"
  style="@style/heading_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_toLeftOf="@+id/panelIconRight1"
    android:layout_toRightOf="@id/panelIconLeft1"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:gravity="center"

    android:singleLine="true"
    android:text=""
    android:textColor="@android:color/white" />

<LinearLayout
    android:id="@+id/panelIconRight1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_margin="5dp" >

    <Button
        android:id="@+id/btnFeedback1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Post Ad"
        android:onClick="btnFeedbackClick" />
</LinearLayout
  

以上代码可以帮助您