如何在Android代码中创建此布局?
更新:问题解决了。我的真实代码中有一个小错误。下面的代码工作正常。非常感谢大家的支持 ================================================================================== 我有一个线性布局和一些文本视图,如下所示。线性布局是水平方向。下面的布局可以按我所希望的方式工作,但是我想动态地向它添加TextView,所以我想用代码而不是xml来初始化它。但是,当我在代码中这样做时,文本视图显示在线性布局的顶部,而不是我想要的底部。xml布局文件是:如何在Android代码中创建此布局?,android,Android,更新:问题解决了。我的真实代码中有一个小错误。下面的代码工作正常。非常感谢大家的支持 ================================================================================== 我有一个线性布局和一些文本视图,如下所示。线性布局是水平方向。下面的布局可以按我所希望的方式工作,但是我想动态地向它添加TextView,所以我想用代码而不是xml来初始化它。但是,当我在代码中这样做时,文本视图显示在线性布局的顶部,而不是我想要的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false">
<TextView
android:text="dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg dfg"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eeffee"
android:layout_gravity="bottom"/>
<TextView
android:text="asd asd asd asd asd asd asd asd asd asd"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#eeeeff"
android:layout_gravity="bottom"/>
<TextView
android:text="qweoiu qweoiuqwe oiqwe qwoeiu qweoiu qweoiuq weoiuqw eoiquw eoiqwue oqiweu qowieu qowieu qoiweu qowieu qowieu qowieu qowieu qoiweu qowieu qoiwue "
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffeeee"
android:layout_gravity="bottom"/>
</LinearLayout>
我的代码不工作,文本视图显示在顶部而不是底部。请帮我看看我做错了什么。谢谢。为TextView设置重力只是说文本应该放在哪里,而不是视图。必须使用layout_gravity或layout父级的gravity参数或LayoutParams的gravity参数,但不能使用TextView的gravity 编辑 重新编辑
如果在onCreate中使用
setContentView(R.layout.your_xml);
而不是你必须用Deepzz的答案。
或者你可以使用
setContentView(container);
android:gravity=bottom在您的linearlayout中,xml布局文件工作正常,所有文本视图都显示在底部。我的问题是,我想将xml布局转换为代码,这意味着在代码中初始化它们,而不是在xml文件中。代码在上面,但该代码不起作用。layoutParams.gravity=gravity.BOTTOM;为此,您必须为xml文件中的所有视图提供id,然后使用这些id从xml中获取.java文件中的视图。我也尝试设置LayoutParams的gravity属性为linear layout,但它不起作用。同样,上面的布局工作正常。您可以将其粘贴到IDE以查看其工作方式。我只是想把布局转换成代码。你应该设置TextView的布局重力属性或者父布局的重力属性,而不是父布局的布局属性!我只是在LayoutPrams类中找到gravity属性,而不是layoutGravity peropery或任何其他类似的方法来设置布局重力。我也找不到如何设置Textview的layout gravity属性。请参见编辑的答案,如果使用LinearLayout,则应将LayoutParams强制转换为LinearLayout.LayoutParams以获取LinearLayout的参数
LinearLayout container = new LinearLayout(getContext());
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.BOTTOM;
container.setLayoutParams(layoutParams);
setContentView(R.layout.your_xml);
setContentView(container);