我正在尝试对TextView" Due:"在下面的CardView图像中的Subhead行。我希望文本位于" 11/30/2100"的左侧。日期。布局代码如下。我在这里缺少什么?
layout.xml
...
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_centerVertical="true"
android:clickable="false"
android:focusable="false" />
<TextView
android:id="@+id/cardBlankText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/chkSelected"
android:layout_toEndOf="@+id/chkSelected"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Headline" />
<TextView
android:id="@+id/cardBlankText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBlankText2"
android:layout_toRightOf="@+id/chkSelected"
android:layout_toEndOf="@+id/chkSelected"
android:gravity="start"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
<TextView
android:id="@+id/cardBlankText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/cardBlankText3"
android:layout_toEndOf="@+id/cardBlankText3"
android:layout_alignParentBottom="true"
android:gravity="end"
android:text="Due:"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
<TextView
android:id="@+id/cardBlankText5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/cardBlankText4"
android:layout_toEndOf="@+id/cardBlankText4"
android:layout_alignParentBottom="true"
android:gravity="end"
android:text="duedate"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
</RelativeLayout>
答案 0 :(得分:2)
只需将gravity
更改为layout_gravity
,即可完成您的要求。
android:gravity
android:layout_gravity
。
答案 1 :(得分:1)
使用LinearLayout,请查看以下代码:
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginStart="2dp"
android:clickable="false"
android:focusable="false" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/cardBlankText2"
style="@style/Base.TextAppearance.AppCompat.Headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:singleLine="true"
android:text="Test1"
android:textColor="@android:color/black" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/cardBlankText3"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_weight="1"
android:gravity="start"
android:singleLine="true"
android:text="Below 2"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText4"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:singleLine="true"
android:text="Due:"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText5"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:singleLine="true"
android:text="11/30/2100"
android:textColor="@android:color/black" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
输出:
答案 2 :(得分:1)
尝试使用以下代码。
Replace in your xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="2dp"
android:layout_marginStart="2dp"
android:clickable="false"
android:focusable="false" />
<TextView
android:id="@+id/cardBlankText2"
style="@style/Base.TextAppearance.AppCompat.Headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/chkSelected"
android:layout_toRightOf="@+id/chkSelected"
android:singleLine="true"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText3"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBlankText2"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/chkSelected"
android:layout_toRightOf="@+id/chkSelected"
android:gravity="start"
android:singleLine="true"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText4"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/cardBlankText5"
android:gravity="end"
android:singleLine="true"
android:text="Due:"
android:textColor="@android:color/black"
android:textSize="20dp" />
<TextView
android:id="@+id/cardBlankText5"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:gravity="end"
android:singleLine="true"
android:text="duedate"
android:textColor="@android:color/black"
android:textSize="20dp" />
</RelativeLayout>
以下是使用Aboce XML查看内容的屏幕截图。
答案 3 :(得分:0)
尝试通过像这样制作LinearLayout来实现:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_centerVertical="true"
android:clickable="false"
android:focusable="false" />
<TextView
android:id="@+id/cardBlankText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/chkSelected"
android:layout_toEndOf="@+id/chkSelected"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Headline" />
<TextView
android:id="@+id/cardBlankText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBlankText2"
android:layout_toRightOf="@+id/chkSelected"
android:layout_toEndOf="@+id/chkSelected"
android:gravity="start"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true">
<TextView
android:id="@+id/cardBlankText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Due:"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
<TextView
android:id="@+id/cardBlankText5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="duedate"
android:textColor="@android:color/black"
android:singleLine="true"
style="@style/Base.TextAppearance.AppCompat.Subhead" />
</LinearLayout>
</RelativeLayout>
答案 4 :(得分:0)
对于标识为cardBlankText5
的TextView,请替换
android:layout_toRightOf="@+id/cardBlankText4"
android:layout_toEndOf="@+id/cardBlankText4"
与
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
对于标识为cardBlankText4
的TextView,请替换
android:layout_toRightOf="@+id/cardBlankText3"
android:layout_toEndOf="@+id/cardBlankText3"
与
android:layout_toLeftOf="@+id/cardBlankText5"
android:layout_toStartOf="@+id/cardBlankText5"
答案 5 :(得分:0)
//您从左侧textview对齐中给出了date和dateString的对齐方式,因为您的Due:string textView从左边开始 您可以通过为日期提供正确的对齐来轻松解决此问题 和Due:根据日期的字符串textView。 //用旧代码替换此代码。 希望它对你有所帮助。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="2dp"
android:layout_marginStart="2dp"
android:clickable="false"
android:focusable="false" />
<TextView
android:id="@+id/cardBlankText2"
style="@style/Base.TextAppearance.AppCompat.Headline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/chkSelected"
android:layout_toRightOf="@+id/chkSelected"
android:singleLine="true"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText3"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBlankText2"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_toEndOf="@+id/chkSelected"
android:layout_toRightOf="@+id/chkSelected"
android:gravity="start"
android:singleLine="true"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText4"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/cardBlankText5"
android:gravity="end"
android:singleLine="true"
android:text="Due:"
android:textColor="@android:color/black" />
<TextView
android:id="@+id/cardBlankText5"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:gravity="end"
android:singleLine="true"
android:text="duedate"
android:textColor="@android:color/black" />
</RelativeLayout>