以下是我的布局的XML。它明确指出标题,时间和描述TextViews应该在警报的图像下。但是,如屏幕截图所示,TextView
已移至ImageView
。为什么会发生这种情况?我该如何解决这个问题?当我添加scrollview时,问题才开始发生。
XML
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/img_alarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/alarm"
android:layout_centerInParent="true"
android:contentDescription="@string/content_description_layout_alarm"/>
<TextView
android:id="@+id/lbl_alarm_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textStyle="bold"
android:layout_centerHorizontal="true"
android:layout_below="@+id/img_alarm"
android:layout_alignLeft="@+id/img_alarm"
android:text="@string/empty"
/>
<TextView
android:id="@+id/lbl_alarm_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textStyle="bold"
android:layout_centerHorizontal="true"
android:layout_below="@+id/img_alarm"
android:layout_alignRight="@+id/img_alarm"
android:text="@string/empty"
/>
<TextView
android:id="@+id/lbl_alarm_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/lbl_alarm_title"
android:layout_alignLeft="@+id/lbl_alarm_title"
android:layout_alignRight="@+id/lbl_alarm_time"
android:maxLines="1"
android:ellipsize="marquee"
android:text="@string/empty"
/>
<Button
android:id="@+id/btn_stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/lbl_alarm_description"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dip"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:text="@string/stop_layout_alarm"
android:gravity="center" />
</RelativeLayout>
</ScrollView>
图片
答案 0 :(得分:2)
可爱的应用程序:)
嗯...不确定为什么它这样做,看起来你有正确的代码,没有破坏日食。但是我也有一些奇怪的错误,因为我不理解而且没有时间调试相对布局。我知道一种替代方法,你可以完成你正在寻找的东西 -
有一个包含linearlayout而不是相对布局的scrollview。做这些事情:
尝试使用该机制,如果应该工作:)如果它令人困惑我可以给代码 示例
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1">
<ImageView
android:id="@+id/img_alarm"
android:layout_width="match_parent"
android:layout_height="0dip"
android:src="@drawable/alarm"
android:layout_weight="0.7"
android:contentDescription="@string/content_description_layout_alarm"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1">
<TextView
android:id="@+id/lbl_alarm_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textStyle="bold"
android:text="@string/empty"
/>
<TextView
android:id="@+id/lbl_alarm_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textStyle="bold"
android:text="@string/empty"
/>
</LinearLayout>
<TextView
android:id="@+id/lbl_alarm_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.1"
android:maxLines="1"
android:ellipsize="marquee"
android:text="@string/empty"
/>
<Button
android:id="@+id/btn_stop"
android:layout_weight="0.1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dip"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:text="@string/stop_layout_alarm"
android:gravity="center" />
</LinearLayout>
</ScrollView>
我希望这至少值得付出努力:D