【问题标题】:GridLayout: how to make view fit cellGridLayout:如何使视图适合单元格
【发布时间】:2016-06-14 17:44:07
【问题描述】:

我正在使用GridLayout 创建一个简单的登录界面。 我希望这两个 EditText 适合它们所在的单元格。

这是问题的屏幕截图。 绿色虚线显示GridLayout 边界,而蓝线显示EditText 字段的边界。 如您所见,EditText 超过了屏幕限制。

这里是EditText的xml代码

           <EditText
                android:id="@+id/etEmail_loginFragment"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                app:layout_column="1"
                app:layout_gravity="fill_horizontal|center_vertical"
                app:layout_row="0"
                android:background="@android:color/white"
                android:ems="10"
                android:inputType="textEmailAddress"
                android:textSize="14sp" />

即使我更改了 layout_width 属性,问题仍然存在。看起来 android 忽略了该属性。

请问我该如何解决?

【问题讨论】:

  • 你为什么不改用Table Layout?
  • 只是因为我从未使用过TableLayout。但我想知道GridLayout 有什么问题。

标签: android android-gridlayout


【解决方案1】:

您正在使用 ems 属性修复 EditText 宽度,这就是为什么 layout_width 的更改没有效果。尝试较低的值,或者如果您不希望该字段具有固定大小,则将其删除。

【讨论】:

  • 其实无论有没有 ems 属性,它都不会改变任何东西。 :(
【解决方案2】:

我发现创建 GridView 的最佳方法是将 RecyclerView 与 GridLayouy 管理器一起使用。适配器实现与普通 RecyclerView 相同

你可以像这样创建 GridLayout 管理器

//3 is the row span
GridLayoutManager a = new GridLayoutManager(this, 3);

这将帮助您提高性能并使用 ViewHolder 模式创建视图

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    相关资源
    最近更新 更多