2017-05-30 147 views
0

我有一个xml布局,带有一个imageview和一个linearlayout中的文本。在显示视图时,图像视图和文本放置在垂直布局上,但在屏幕左侧显示,文本视图的一些文本被截断。这是片段android将imageview和文本垂直对齐布局的中心

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:background="@drawable/grid_color_selector" 
    android:orientation="vertical" 
    android:padding="5dp"> 
    <!--view active Mechanics--> 
    <ImageView 
     android:id="@+id/imageCon" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_2" /> 

    <TextView 
     android:id="@+id/text1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Active Mechanics" 
     android:textSize="12sp" /> 

     <!--view scheduled Mechanics--> 
    <ImageView 
     android:id="@+id/imageCon2" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_1" /> 

    <TextView 
     android:id="@+id/text2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Scheduled Mechanics" 
     android:textSize="12sp" /> 

    <!--view completed Mechanics--> 
    <ImageView 
     android:id="@+id/imageCon3" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_3" /> 

    <TextView 
     android:id="@+id/text3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Completed Mechanics" 
     android:textSize="12sp" /> 

</LinearLayout> 

请如何在xml布局的垂直中心中概述上述内容。

+1

尝试向LinearLayout添加'android:gravity =“center_vertical”' – Firerazzer

+0

将根布局高度宽度更改为match_parent并设置根布局android:gravity =“center_vertical”垂直居中显示所有视图或android:gravity =“center_horizo​​ntal “以水平居中或android:gravity =”中心“为开头 – Pavan

回答

1

您必须将LinearLayout中的宽度更改为match_parent,并将android:layout_gravity添加到所有ImageView's的中心。试试这个代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:background="@drawable/grid_color_selector" 
    android:orientation="vertical" 
    android:padding="5dp"> 
    <!--view active Mechanics--> 
    <ImageView 
     android:layout_gravity="center" 
     android:id="@+id/imageCon" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_2" /> 

    <TextView 
     android:id="@+id/text1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Active Mechanics" 
     android:textSize="12sp" /> 

    <!--view scheduled Mechanics--> 
    <ImageView 
     android:layout_gravity="center" 
     android:id="@+id/imageCon2" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_1" /> 

    <TextView 
     android:id="@+id/text2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Scheduled Mechanics" 
     android:textSize="12sp" /> 

    <!--view completed Mechanics--> 
    <ImageView 
     android:layout_gravity="center" 
     android:id="@+id/imageCon3" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:src="@drawable/imgcon_3" /> 

    <TextView 
     android:id="@+id/text3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="Completed Mechanics" 
     android:textSize="12sp" /> 

</LinearLayout> 
+0

这个问题做了什么来得到downvote.Please upvote it。谢谢 – parker

1

您将有两个属性在这种情况下,它的LinearLayout添加到您的根布局。

机器人:layout_width = “match_parent”

机器人:比重= “中心”

实施例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="5dp" 
      android:background="@drawable/grid_color_selector" 
      android:orientation="vertical" 
      android:gravity="center" 
      android:padding="5dp"> 
<!--view active Mechanics--> 
<ImageView 
    android:id="@+id/imageCon" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:src="@drawable/imgcon_2" /> 

<TextView 
    android:id="@+id/text1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:gravity="center" 
    android:text="Active Mechanics" 
    android:textSize="12sp" /> 

<!--view scheduled Mechanics--> 
<ImageView 
    android:id="@+id/imageCon2" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:src="@drawable/imgcon_1" /> 

<TextView 
    android:id="@+id/text2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:gravity="center" 
    android:text="Scheduled Mechanics" 
    android:textSize="12sp" /> 

<!--view completed Mechanics--> 
<ImageView 
    android:id="@+id/imageCon3" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:src="@drawable/imgcon_3" /> 

<TextView 
    android:id="@+id/text3" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:gravity="center" 
    android:text="Completed Mechanics" 
    android:textSize="12sp" /> 

结果:

Preview