2016-07-08 127 views
1

我想使佈局由2列,其具有相等的寬度並在列元素爲中心GridLayout的2列中心水平

代碼

<?xml version="1.0" encoding="utf-8"?> 

<GridLayout 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:background="#75ddff" 
    android:columnCount="2" 
    android:layout_gravity="center" 
    tools:context="com.example.demo.MainActivity"> 


    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/calculator_view" 
     android:layout_width="110dp" 
     android:layout_height="110dp" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:layout_row="0" 
     android:src="@drawable/calc" 
     app:civ_border_color="#00C3C9" 
     app:civ_border_width="0dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="fill_horizontal|center_horizontal" 
     android:layout_row="1" 
     android:gravity="center" 
     android:text="CALC" 
     android:textSize="25dp" /> 


    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="110dp" 
     android:layout_height="110dp" 
     android:layout_row="0" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:src="@drawable/statst" 
     app:civ_border_color="#ffffff" 
     app:civ_border_width="0dp" /> 

    <TextView 
     android:layout_width="110dp" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_gravity="fill_horizontal|center_horizontal" 
     android:layout_row="1" 
     android:gravity="center" 
     android:text="Statistics" 
     android:textSize="25dp" /> 

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="110dp" 
     android:layout_height="110dp" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:layout_row="2" 
     android:src="@drawable/reporting_icon1" 
     app:civ_border_color="#00C3C9" 
     app:civ_border_width="0dp" /> 

    <TextView 
     android:layout_width="110dp" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="fill_horizontal|center_horizontal" 
     android:layout_row="3" 
     android:gravity="center" 
     android:text="History" 
     android:textSize="25dp" /> 

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="110dp" 
     android:layout_height="110dp" 
     android:layout_row="2" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:src="@drawable/hashtag" 
     app:civ_border_color="#ffffff" 
     app:civ_border_width="0dp" /> 

    <TextView 
     android:layout_width="110dp" 
     android:layout_height="wrap_content" 
     android:layout_column="1" 
     android:layout_columnWeight="1" 
     android:layout_gravity="fill_horizontal|center_horizontal" 
     android:layout_row="3" 
     android:gravity="center" 
     android:text="Codes" 
     android:textSize="25dp" /> 

    <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="110dp" 
     android:layout_height="110dp" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="20dp" 
     android:layout_row="4" 
     android:layout_columnSpan="1" 
     android:src="@drawable/documents" 
     app:civ_border_color="#00C3C9" 
     app:civ_border_width="0dp" /> 

    <TextView 
     android:layout_width="110dp" 
     android:layout_height="wrap_content" 
     android:layout_column="0" 
     android:layout_columnWeight="1" 
     android:layout_gravity="fill_horizontal|center_horizontal" 
     android:layout_row="5" 
     android:gravity="center" 
     android:text="Plans" 
     android:textSize="25dp" /> 

</GridLayout> 

結果 這兩列不居中 的enter image description here

我用CircleImageview

dependencies { 
    ... 
    compile 'com.android.support:support-v4:23.1.1' 
    compile 'de.hdodenhof:circleimageview:2.0.0' 
    compile 'com.android.support:design:23.1.1' 
} 

回答

2
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    orientation="horizontal"> 
    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     orientation="vertical"> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     orientation="vertical"> 
    </LinearLayout> 
</LinearLayout> 

兩個內部線性佈局將具有完全相同的寬度。由於layout_weight="1"。這是你的兩個專欄。

0
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:columnCount="2" 
    android:orientation="horizontal" > 

    <Button android:text="1" /> 
    <Button android:text="2" /> 
    <Button android:text="3" /> 
    <Button android:text="4" /> 
    <Button android:text="5" /> 
    <Button android:text="6" /> 

</GridLayout>