我知道这个问题已被多次询问,但是我已经查看了我能看到的所有解决方案,但没有一个能够工作。 我在相对布局中有一个textview。 textview有一个高度:fill_parent属性不起作用。双关语是他们在这个相对布局中是几个其他textview,除了这个之外,所有这些都设法填充父级。 这是XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/customshape"
android:orientation="horizontal" >
<TextView
android:id="@+id/mainlistdescription"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scrollHorizontally="true"
android:maxLines="4"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/mainlistquantite"
android:layout_gravity="center_vertical"
android:textSize="12sp"
android:padding="10dp"
/>
<TextView
android:id="@+id/mainlistquantite"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:maxLines="4"
android:layout_toLeftOf="@+id/consultaffichelayoutdroit"
android:textSize="12sp"
android:padding="10dp"
/>
<TextView
android:id="@+id/consultafficheseparator" <!-- the one not working-->
android:layout_width="2dp"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/imageView1"
android:background="#777777"
android:maxWidth="2dp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:gravity="center_vertical|right"
android:src="@drawable/fleche" />
<LinearLayout
android:id="@+id/consultaffichelayoutdroit"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/consultafficheseparator"
android:orientation="vertical"
android:paddingLeft="5dp"
>
<TextView
android:id="@+id/mainlistnumero"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/mainlistprix"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
这是我得到的:
灰色栏应该一直运行,但在模拟器上实际运行时却没有(它在eclipse工具中运行)
因为这个xml实际上是在列表视图中调用的,所以我似乎无法使用JAVA代码解决问题,所以理想情况下解决方案应该在XML文件上。我尝试了到目前为止android:clipChildren =“false”没有成功,以及改变我的元素在XML中的顺序,这让juste变得更糟。
经过实验,我可以说没有什么可以取而代之的,所以它不是它不能去,因为那里已经有了一个视图,它只是没有扩展那么远
感谢你的帮助
答案 0 :(得分:2)
为什么使用TextView绘制分隔符?尝试使用常规视图,如下面的代码。
此外,如果分隔符必须与描述视图的底部对齐,则可以使用layout_alignBottom
- RelativeLayout
的属性,如下所示:
android:layout_alignBottom="@+id/mainlistdescription"
所以分隔符看起来像下面的代码:
<View
android:id="@+id/consultafficheseparator"
android:layout_width="2dp"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/imageView1"
android:layout_alignBottom="@+id/mainlistdescription"
android:background="@color/separator_bg" />
以下一些提示:
最好在某个资源文件(例如colors.xml
)中定义颜色,并从布局中引用该颜色。特别是在ListView
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="separator_bg">#777777</color>
</resources>
在您的布局文件android:background="@color/separator_bg"
使用match_parent
代替fill_parent
,因为已弃用。
我在其中一个android:scrollHorizontally="true"
上看到了TextView
。仅在TextView
可编辑时才有效。如果您希望内容滚动,因为它不适合TextView
,请尝试使用以下代码:
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
在您的adapter.getView()
:
final TextView description = (TextView) view.findViewById(R.id.mainlistdescription);
description.setSelected(true);
答案 1 :(得分:1)
看起来您的TextView不在顶层,也许您可以在代码中尝试以下内容:
consultafficheseparatorTextView.bringToFront();
答案 2 :(得分:0)
顺便说一句那个讨厌的问题是没有意义的。最终对我有用的是将RelativeLayout标记中的android:layout_height
更改为fill_parent
,就像这样
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/customshape"
android:orientation="horizontal">
希望这会有所帮助
答案 3 :(得分:0)
尝试设置以下一项(或全部)以查看它是否发生了任何变化:
android:maxHeight="100dp"
或
android:layout_height="100dp"
或
android:text="a"
android:textColor="#777777"
如果这些选项中的任何一个改变了尺寸,请告诉我们,我们可以找到合适的解决方案!
答案 4 :(得分:0)
你得到这种布局的视图是非常奇怪的,因为在复制和粘贴你的布局代码后我得到了这个。
你的解决方案有效,我做了一些小改进。它就像你的代码一样,但是如果你只需要背景颜色就不需要使用TextView,可以使用View。
<View
android:id="@+id/consultafficheseparator"
android:layout_width="2dp"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/imageView1"
android:background="#777777"
/>
唯一的建议是设置根布局高度“match_parent”或dp中的某个值,例如 thiagolr 。我为此屏幕截图设置为“100dp”。
答案 5 :(得分:0)
这是你应该做的,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/customshape"
android:orientation="horizontal" >
<TextView
android:id="@+id/mainlistdescription"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scrollHorizontally="true"
android:maxLines="4"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/mainlistquantite"
android:layout_gravity="center_vertical"
android:textSize="12sp"
android:padding="10dp"
/>
<TextView
android:id="@+id/mainlistquantite"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:maxLines="4"
android:layout_toLeftOf="@+id/consultaffichelayoutdroit"
android:textSize="12sp"
android:padding="10dp"
/>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:gravity="center_vertical|right"
android:src="@drawable/fleche" />
<TextView
android:id="@+id/consultafficheseparator" <!-- this will work now -->
android:layout_width="2dp"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/imageView1"
android:background="#777777"
android:maxWidth="2dp" />
<LinearLayout
android:id="@+id/consultaffichelayoutdroit"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/consultafficheseparator"
android:orientation="vertical"
android:paddingLeft="5dp"
>
<TextView
android:id="@+id/mainlistnumero"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:id="@+id/mainlistprix"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
答案 6 :(得分:0)
1)尝试使“线性布局”方向垂直 要么 2)尝试使相对布局方向垂直
它可以提供帮助。