textview下面的textview linearlayout

时间:2012-09-01 23:06:34

标签: android

我使用的是LinearLayout,因为它是我使用layout_weight的唯一方法,而且我不熟悉在RelativeLayout中均匀对齐文本视图。 (我是android的新手)。我制作了一个日历应用程序,似乎无法弄清楚如何在我的7个文本视图下面获取文本视图。 (7个textviews是一周中的几天)。他们最终在同一行显示所有内容。

如何在7天内获得最终的文本视图?请注意我已经在stackoverflow上搜索了这个问题,但我还没有发现任何对我有意义或工作的东西。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="top" >

<TextView
    android:id="@+id/day1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="@string/day1"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/day2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day2"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/day3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day3"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/day4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day4"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/day5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day5"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:id="@+id/day6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day6"
    android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
    android:id="@+id/day7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="@string/day7"
    android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="a text string below" 
    android:textAppearance="?android:attr/textAppearanceSmall" />


</LinearLayout>

6 个答案:

答案 0 :(得分:8)

简化为:

<LinearLayout android:orientation="vertical">    
    <LinearLayout android:orientation="horizontal" android:layout_weight="1">
        <!-- TextView 1,2,3,4,5,6,7 here -->
    </LinearLayout>
    <TextView android:layout_weight="1"/><!-- (TextView 8) -->
</LinearLayout>

答案 1 :(得分:2)

如果您使用RelativeLayout,您将能够使用* android:layout_below *属性。

您使用的所有文字视图都具有相同的权重。据我所知,您可以删除这些行。

如果我是你,我会考虑以下等级:

<RelativeLayout>
    <LinearLayout android:id="@+id/blabla">
        *7 textviews*
    </LinearLayout>
    <TextView>
        android:layout_below= @+id/blabla
    </TextView>
</RelativeLayout>

答案 2 :(得分:1)

要将摘要放置在其余视图下方的视图中,您可以将主线性布局的方向更改为垂直,并将7个textView与另一个水平方向的线性布局封装在一起。这是一个代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="top" >

<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/day1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/day1"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day2"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day3"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day4"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day5"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day6"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/day7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="@string/day7"
android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="a text string below" 
android:textAppearance="?android:attr/textAppearanceSmall" />


</LinearLayout>

答案 3 :(得分:0)

不知道我是否正确地解决它,但你可以尝试将1-7天封装在额外的线性布局和RootLayout中的最后一个TextView。

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="top" >


<LinearLayout 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="top" >

  <!-- TextView for Days 1 to 7 in here -->

</LinearLayout>

<!-- Last TextView in here -->

</LinearLayout>

编辑:并尝试将android:orientation标记设置为“Vertical”

答案 4 :(得分:0)

更简单的解释:您正在使用方向设置为水平的LinearLayout;这告诉Android“所有这些项目应该在一行中彼此相邻”。您想要的是一个垂直线性布局,其中包含您当前拥有的线性布局。您的最终textView可以是垂直布局的子级而不是水平布局(这是其他答案显示的内容)。

答案 5 :(得分:0)

据我所知,你想做的就是这个:

  • TextView1
  • TextView2
  • (还有一些TextViews)
  • TextViewLast

要在VERTICAL ORIENTATION中实现这一点,我在我的.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:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/fullNameTextView"
        android:text="@string/fullNameString"
        android:textSize="@dimen/mainActivityFontSize"
        android:layout_marginLeft="@dimen/mainActivityMarginLeft"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/programNameTextView"
        android:textSize="@dimen/mainActivityFontSize"
        android:layout_marginLeft="@dimen/mainActivityMarginLeft"
        android:text="@string/programName"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/semesterTextView"
        android:textSize="@dimen/mainActivityFontSize"
        android:layout_marginLeft="@dimen/mainActivityMarginLeft"
        android:text="@string/semesterTextView"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/courseNameTextView"
        android:textSize="@dimen/mainActivityFontSize"
        android:layout_marginLeft="@dimen/mainActivityMarginLeft"
        android:text="@string/courseName"/>

</LinearLayout>

使我的布局符合我想要的三件事(希望你也想要相同类型的布局):

  1. android:layout_width="match_parent"
  2. android:layout_height="wrap_content"
  3. android:orientation="vertical"
  4. 结果如下: