作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 Android Studio 设计选项卡中创建行时,行中的按钮在我通过 XML 创建它们时似乎没有正确对齐。
但是,当我通过膨胀以编程方式添加它们时,它们会正确对齐(请注意,带有键名的最后一行已被复制并直接粘贴到 XML 中,因此我可以测试我的表设置是否有问题):
这是该行的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/active_key_row"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5pt"
android:layout_marginEnd="5pt"
android:visibility="visible">
<TextView
android:id="@+id/active_key_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Key Name" />
<Button
android:id="@+id/active_key_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/remove_key" />
</TableRow>
这是表格的 XML:
<TableLayout
android:id="@+id/bt_keys_table"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/active_key_row"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5pt"
android:layout_marginEnd="5pt"
android:visibility="visible">
<TextView
android:id="@+id/active_key_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Key Name" />
<Button
android:id="@+id/active_key_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/remove_key" />
</TableRow>
<TableRow
android:id="@+id/empty_key_row"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5pt"
android:layout_marginEnd="5pt"
android:visibility="visible">
<TextView
android:id="@+id/empty_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="" />
<Button
android:id="@+id/add_key_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="@string/add_key" />
</TableRow>
</TableLayout>
这是膨胀的 Java 代码:
private void buildBtKeysTable() {
mBtKeysTable = (TableLayout) findViewById(R.id.bt_keys_table);
// Add the rows to the table
for (int i = 0; i < DEFAULT_MAX_KEYS; i++) {
// Inflate the row
final TableRow row = (TableRow)
getLayoutInflater().inflate(R.layout.active_keys_table_row, null);
mBtKeysTable.addView(row, 0);
Button button = (Button) row.findViewById(R.id.active_key_button);
// Subscribe to the active buttons for bluetooth
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
removeBluetoothKey(row);
}
});
}
}
最佳答案
先生,那是因为您将 null 作为父 ViewGroup 参数传递给 inflate()。这将导致所有 layout_* 属性被忽略,因为 inflater 不知道哪些属性对于将放置它的容器有效(即它不知道在 View 上设置哪种 LayoutParams 类型)。
let we explore more ..
尝试替换这个
getLayoutInflater().inflate(R.layout.active_keys_table_row, null);
with
getLayoutInflater().inflate(R.layout.active_keys_table_row, item, false);
并弄清楚发生了什么。
关于java - 为什么 TableRow 中的按钮在使用 XML 创建时未正确对齐,但在以编程方式创建时却正确对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40279072/
在我们的数据库表上,我们使用两个唯一的非聚集索引来创建跨四个字段的唯一约束。我们使用两个,因为其中一个字段 ZipCode 是一个可为空的字段。如果表中存在一条包含 ZipCode 的 null 条目
我刚刚开始学习 Rails 3 教程,以便对框架有一点熟悉,但我在生成 schema.rb 时遇到了问题。我的操作系统是 Windows 7 x64、Ruby 1.9.2、MySQL2 gem 0.2
我是一名优秀的程序员,十分优秀!