我有以下布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_btn_find_prev"
android:contentDescription=""/>
<LinearLayout
android:id="@+id/fragment_counter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_red_dark"
android:gravity="center_vertical|center_horizontal"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_btn_find_next"
android:layout_alignParentRight="true"
android:contentDescription=""/>
</RelativeLayout>
</RelativeLayout>
并遵循ui结果:
我想要像YELLOW LINE那样拥有高度的红色布局。如果我设置高度像match_parent或fill_parent红色布局填充所有屏幕。请帮我收到正确的结果。
EDITED 我使用LinearLayout(@ + id / fragment_counter)来编程添加元素。
final TextView item = new TextView(this);
item.setGravity(Gravity.CENTER);
item.setBackgroundResource(R.drawable.shape);
item.setText("1");
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
params.setMargins(5, 0, 5, 0);
item.setLayoutParams(params);
来自示例:item&#34; 1&#34;已添加,应该在布局中居中。如果红色布局像黄色线条&#34; 1&#34;将正确居中。
答案 0 :(得分:0)
将RelativeLayout
layout_height
属性设置为特定高度(相对于按钮绘图的大小),并使用fill_parent
LinearLayout
属性上的layout_height
。
另外假设您想要顶部的按钮,您需要重新排序该布局。并且不要忘记设置LinearLayout
的方向。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/fragment_counter"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/holo_red_dark"
android:gravity="center_vertical|center_horizontal"
android:orientation="horizontal" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription=""
android:src="@drawable/ic_btn_find_prev" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:contentDescription=""
android:src="@drawable/ic_btn_find_next" />
</RelativeLayout>
答案 1 :(得分:0)
试试这个......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:textSize="36sp" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:color/holo_red_dark"
android:orientation="horizontal" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:contentDescription=""
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/fragment_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="10dp"
android:layout_centerInParent="true"
android:background="#404040"
android:gravity="center_vertical|center_horizontal"
android:text="FRAG COUNT: 2"
android:textColor="#FFFFFF" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:contentDescription=""
android:src="@drawable/ic_launcher" />
</RelativeLayout></RelativeLayout>