【问题标题】:gridlayout 2 columns center-horizontalgridlayout 2列中心水平
【发布时间】:2017-05-21 07:24:07
【问题描述】:

我想让布局由宽度相等的 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>

结果 两列不居中

我用过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'
}

【问题讨论】:

    标签: android android-layout alignment android-gridlayout


    【解决方案1】:
    <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"。这是你的两列。

    【讨论】:

      【解决方案2】:
      <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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-09
        • 2017-04-28
        • 2016-06-25
        • 2012-09-04
        • 2015-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多