如何在Android代码中创建此布局?

如何在Android代码中创建此布局?,android,Android,更新:问题解决了。我的真实代码中有一个小错误。下面的代码工作正常。非常感谢大家的支持 ================================================================================== 我有一个线性布局和一些文本视图,如下所示。线性布局是水平方向。下面的布局可以按我所希望的方式工作,但是我想动态地向它添加TextView,所以我想用代码而不是xml来初始化它。但是,当我在代码中这样做时,文本视图显示在线性布局的顶部,而不是我想要的

更新:问题解决了。我的真实代码中有一个小错误。下面的代码工作正常。非常感谢大家的支持

================================================================================== 我有一个线性布局和一些文本视图,如下所示。线性布局是水平方向。下面的布局可以按我所希望的方式工作,但是我想动态地向它添加TextView,所以我想用代码而不是xml来初始化它。但是,当我在代码中这样做时,文本视图显示在线性布局的顶部,而不是我想要的底部。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);