我有一个带有背景图像的LinearLayout。
LinearLayout还有一个子级LinearLayout,其中有一个TextView。子级LinearLayout具有20%的透明背景色。
我的问题是我想将子级LinearLayout移到父级LinearLayout的底部。现在,子级LinearLayout位于父级LinearLayout的垂直中心。
图片:
我尝试了不同的技术,包括使用RelativeLayout。
设计XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true"
android:fillViewport="true"
tools:context=".MainActivity">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Main season image -->
<LinearLayout
android:id="@+id/linearLayoutMain"
android:layout_width="match_parent"
android:layout_height="300px"
android:orientation="vertical"
android:background="@drawable/img_season_02">
</LinearLayout>
<!-- //Main season image -->
<!-- Navigation -->
<TableLayout
android:id="@+id/tableLayoutNavigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:columnCount="3"
>
<!-- Row 1 -->
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<!-- Row 1 - Columns 1 -->
<LinearLayout
android:id="@+id/linearLayoutFood"
android:layout_weight=".3"
android:layout_width="0dp"
android:layout_height="100dp"
android:gravity="center"
android:orientation="vertical"
android:background="@drawable/img_tile_food"
android:layout_marginTop="2dp"
android:layout_marginRight="1dp"
android:layout_marginLeft="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#bb000000"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:paddingLeft="6dp">
<TextView
android:id="@+id/textViewMyProfileFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="@string/food"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/colorWhite" />
</LinearLayout>
</LinearLayout>
<!-- //Row 1 - Column 1 -->
<!-- Row 1 - Column 2 -->
<LinearLayout
android:id="@+id/linearLayoutExercise"
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_marginTop="2dp"
android:layout_weight=".3"
android:background="@drawable/img_tile_exercises"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#bb000000"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:paddingLeft="6dp">
<TextView
android:id="@+id/textViewExerciseTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="@string/exercises"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/colorWhite" />
</LinearLayout>
</LinearLayout>
<!-- //Row 1 - Column 2 -->
<!-- Row 1 - Column 3 -->
<LinearLayout
android:id="@+id/linearLayoutMyProfile"
android:layout_weight=".3"
android:layout_width="0dp"
android:layout_height="100dp"
android:gravity="center"
android:orientation="vertical"
android:background="@drawable/img_tile_profile"
android:layout_marginTop="2dp"
android:layout_marginRight="1dp"
android:layout_marginLeft="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#bb000000"
android:orientation="vertical"
android:paddingLeft="6dp">
<TextView
android:id="@+id/textViewMyProfileTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="@string/my_profile"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/colorWhite" />
</LinearLayout>
</LinearLayout>
<!-- //Row 1 - Column 3 -->
</TableRow>
<!-- //Row 1 -->
</TableLayout>
<!-- //Navigation -->
</LinearLayout>
</ScrollView>
答案 0 :(得分:1)
仅对每一行执行此操作即可解决您的问题。
<!-- Row 1 - Column 3 -->
<LinearLayout
android:id="@+id/linearLayoutMyProfile"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"
android:layout_marginRight="1dp"
android:layout_marginTop="2dp"
android:layout_weight=".3"
android:background="@drawable/com_facebook_profile_picture_blank_square"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:gravity="bottom"
android:orientation="vertical"
android:paddingLeft="6dp">
<TextView
android:id="@+id/textViewMyProfileTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="#bb000000"
android:layout_marginTop="3dp"
android:text="5454"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
希望它将解决您的问题
答案 1 :(得分:0)
android:layout_alignParentBottom
不是LinearLayout
的受支持属性。如果要使用它,则应将父级LinearLayout转换为支持这些相对属性的RelativeLayout
。
或者,一个更简单的选择是仅设置父级LinearLayout的重力:android:gravity="bottom"
答案 2 :(得分:0)
此外,为什么不只是在TextView中设置背景色?
android:background =“ @ color / your_color”
然后,您将可以消除包裹TextViews的多余LinearLines
答案 3 :(得分:0)
我认为您想做的是将android:layout_gravity =“ bottom”放到您要放在底部的Linearlayout中