如何在不同分辨率的单行中对齐文本和按钮

时间:2013-11-29 09:21:33

标签: android layout android-tablelayout

我正在尝试将TextView和Button放在一行中,期望在enter image description here

下方

但我得到这样的

enter image description here

如何纠正对齐并限制文字“你的令牌用完,请连接”在一行中,两行是完美的。

以下是我的代码:

<LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:textSize="20sp"  
             android:text="SNS Connection"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#ffffff" />

            <ImageView
                android:id="@+id/facebook"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:src="@drawable/twitter" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:textSize="15sp"  
             android:text="Your token is run out, please connect"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#ffffff"/>

            <ImageView
                android:id="@+id/twitter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:src="@drawable/twitter"/>
        </LinearLayout>
    </LinearLayout>

7 个答案:

答案 0 :(得分:2)

android:gravity="center_vertical"提供给线性布局

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

        <TextView 
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:textSize="20sp"  
         android:text="SNS Connection"
         android:textColor="#000" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/btn_default" />
    </LinearLayout>
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical">

        <TextView               
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:textSize="20sp"  
         android:text="SNS Connection"
         android:textColor="#000" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/btn_default" />
    </LinearLayout>

答案 1 :(得分:2)

使用这个:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >


 <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/list"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center_vertical"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:paddingLeft="10dip"
        android:text="SNS Connection"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#ffffff"
        android:textSize="20sp" />

    <ImageView
        android:id="@+id/facebook"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="0.5"
        android:src="@drawable/twitter" />
  </LinearLayout>

  <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/list"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="center_vertical"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:paddingLeft="10dip"
        android:text="Your token is run out, please connect"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#ffffff"
        android:textSize="15sp" />

    <ImageView
        android:id="@+id/twitter"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_weight="0.5"
        android:src="@drawable/twitter" />
  </LinearLayout>

</LinearLayout>

答案 2 :(得分:1)

试试这个:

<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=".MainActivity" >

  <RelativeLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:textSize="20sp"  
             android:text="SNSffgdfg Connection"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#000000" />

            <ImageView
                android:id="@+id/facebook"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_launcher" />

        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/linearLayout2"
            android:layout_below="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:ems="12"
             android:textSize="15sp"  
             android:text="Your token is run out, please connect"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#000000"/>

            <ImageView
                android:id="@+id/twitter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_launcher" />

        </RelativeLayout>
</RelativeLayout>

答案 3 :(得分:0)

    <TextView 
     android:id="@+id/list" 
     android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:textAppearance="?android:attr/textAppearanceMedium"
     android:gravity="center_vertical" 
     android:paddingLeft="10dip"
     android:textSize="20sp"  
     android:text="SNS Connection"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:textColor="#ffffff" />

    <ImageView
        android:id="@+id/facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:src="@drawable/twitter" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout1"
    android:gravity="center_vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView 
     android:id="@+id/list" 
     android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:textAppearance="?android:attr/textAppearanceMedium"
     android:gravity="center_vertical" 
     android:paddingLeft="10dip"
     android:textSize="15sp"  
     android:text="Your token is run out, please connect"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:textColor="#ffffff"/>

    <ImageView
        android:id="@+id/twitter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:src="@drawable/twitter"/>
</LinearLayout>

答案 4 :(得分:0)

请复制并粘贴此代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="fill_horizontal"
     >

<LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
           android:gravity="fill_vertical"
            android:orientation="horizontal"
             >

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:textSize="20sp"  
             android:text="SNS Connection"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#000000" />

            <ImageView
                android:id="@+id/facebook"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_marginTop="20dp"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:orientation="horizontal"
            android:gravity="fill_vertical"
            android:layout_height="wrap_content">

            <TextView 
             android:id="@+id/list" 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:gravity="center_vertical" 
             android:paddingLeft="10dip"
             android:textSize="15sp"  
             android:text="Your token is run out, please connect"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:textColor="#000000"/>

            <ImageView
                android:id="@+id/twitter"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:src="@drawable/ic_launcher"/>
        </LinearLayout>
    </LinearLayout>



</LinearLayout>

答案 5 :(得分:0)

您可以assign weight进行线性布局。无论分辨率如何,分配重量都有助于自动调整输出。

答案 6 :(得分:0)

我想最好的选择就是使用TableLayoutGridView