Android上的线性布局问题
我的目标是在标题、星星和想法的右边有一个Android上的线性布局问题,android,xml,android-linearlayout,orientation,Android,Xml,Android Linearlayout,Orientation,我的目标是在标题、星星和想法的右边有一个TextView。 我通常知道如何使用orientation=“horizontal”进行此操作,但实际上这相当棘手,因为我看不出我做错了什么 这是我的密码: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orie
TextView
。
我通常知道如何使用orientation=“horizontal”
进行此操作,但实际上这相当棘手,因为我看不出我做错了什么
这是我的密码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:id="@+id/offertitle"
android:paddingTop="15dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:textSize="24dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/blue" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/troisieme"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="15dp"
android:id="@+id/offerstars"
android:src="@drawable/stars" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:id="@+id/offerthoughts"
android:text="53 avis"
android:textColor="@color/blue" />
</LinearLayout>
</LinearLayout>
<TextView
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:id="@+id/offer_price"
android:textColor="#000000"
android:gravity="right"
android:text="blablabla"
android:background="#D3D3D3"/>
这是一张图片:
包含标题等内容并与文本视图并排的版面的宽度设置为匹配父项,这是错误的。这里没有文本视图的空间,下面你已经修改了你的设计。它已将宽度设置为0dp,将重量设置为1——因此它填充了可用空间
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/offertitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="15dp"
android:textColor="@color/colorRed"
android:textSize="24dp"/>
<LinearLayout
android:id="@+id/troisieme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/offerstars"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:src="@drawable/ic_menu_start"/>
<TextView
android:id="@+id/offerthoughts"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:text="53 avis"
android:textColor="@color/colorOrange"/>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/offer_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#D3D3D3"
android:gravity="right"
android:text="blablabla"
android:textColor="#000000"/>
</LinearLayout>
如果你想实现左部分和右部分,你可以使用RelativeLayout 如果您仍然希望在线性布局中执行,则应在其内部使用 你可以这样做
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white">
<LinearLayout
android:id="@+id/lin_left"
android:layout_toLeftOf="@+id/offer_price"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:id="@+id/offertitle"
android:paddingTop="15dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:textSize="24dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/troisieme"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="15dp"
android:id="@+id/offerstars"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:id="@+id/offerthoughts"
android:text="53 avis"
android:textColor="@android:color/black" />
</LinearLayout>
</LinearLayout>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:id="@+id/offer_price"
android:textColor="#000000"
android:gravity="right"
android:text="blablabla"
android:background="#D3D3D3"/>
</RelativeLayout>
试试这个。您可以使用
layout\u weight
和weightSum
来管理版面中的部分。并将width
设置为0dp
,以便重量可以影响
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:background="#FFFFF0"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="vertical">
<TextView
android:id="@+id/offertitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="15dp"
android:text="Hello"
android:textColor="@color/colorPrimary"
android:textSize="24dp" />
<LinearLayout
android:id="@+id/troisieme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/offerstars"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/offerthoughts"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:text="53 avis"
android:textColor="@color/colorAccent" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/offer_price"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#D3D3D3"
android:gravity="center"
android:text="blablabla"
android:textColor="#000000" />
</LinearLayout>
您能给我们举一个您想要的输出的例子吗?您能附上一张您想要的图像吗?是的,谢谢您的快速回答!寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参见:如何创建。使用“编辑”链接改进您的问题-不要通过评论添加更多信息。谢谢我真的很抱歉,我将删除我的问题,但请记住,这是我的第一个问题,我以前从未问过或回答过!我只是一个初学者,在同一个错误上被困了好几天,为糟糕的语言和其他所有事情感到抱歉。非常感谢,伙计,第一次成功了!顺便说一句,我明白它为什么不起作用了,多谢!对于未来的读者,您是否会编辑此答案以显示其帮助?