#android #layout
#Android #макет
Вопрос:
Как я могу получить
Layouts
квадратный фон правой стороны. Фоновые изображения уже квадратные, которые я использовал.
Вот мой xml
код
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/home_bg_screen"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@ id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/aboutus_icon"/>
<Button
android:id="@ id/menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_marginRight="4dp"
android:background="@drawable/contactus_btn"
android:text="Menu"
android:textColor="#FFF"/>
</FrameLayout>
<TextView
android:id="@ id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="12dp"
android:textColor="#FFF"
android:textSize="20sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:paddingLeft="28dp"
android:paddingRight="28dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false">
<RelativeLayout
android:id="@ id/rel_one"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_marginRight="1dp"
android:layout_marginBottom="1.7dp"
android:layout_marginTop="0.7dp"
android:layout_marginLeft="1dp"
android:background="@drawable/large_bg">
<ImageView
android:id="@ id/about_image"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:gravity="center"
android:padding="5dp"/>
<TextView
android:id="@ id/about_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_below="@ id/about_image"
android:layout_marginTop="5dp"
android:paddingLeft="5dp"
android:singleLine="false"
android:textColor="#000"
android:textSize="11sp"
android:scrollbars="vertical"/>
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<RelativeLayout
android:id="@ id/rel_two"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/one_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/one_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="4dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:textColor="#000"
android:textSize="11sp"
android:maxLines="2"
android:scrollbars="vertical"/>
</RelativeLayout>
<RelativeLayout
android:id="@ id/rel_four"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/two_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/two_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="4dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:textColor="#000"
android:textSize="11sp"
android:maxLines="2"
android:scrollbars="vertical"/>
</RelativeLayout>
<RelativeLayout
android:id="@ id/rel_five"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/three_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/three"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/three_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="4dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:textColor="#000"
android:textSize="11sp"
android:maxLines="2"
android:scrollbars="vertical"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@ id/rel_six"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/six_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/six"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/six_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:textColor="#000"
android:textSize="11sp"
android:maxLines="2"
android:scrollbars="vertical"/>
</RelativeLayout>
<RelativeLayout
android:id="@ id/rel_seven"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/five_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/five"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/five_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:maxLines="2"
android:textColor="#000"
android:textSize="11sp"
android:scrollbars="vertical"/>
</RelativeLayout>
<RelativeLayout
android:id="@ id/rel_eight"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/list_selector8">
<ImageView
android:id="@ id/four_image"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:scaleType="fitXY"/>
<TextView
android:id="@ id/four"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@ id/four_image"
android:layout_centerHorizontal="true"
android:gravity="center"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:textColor="#000"
android:maxLines="2"
android:textSize="11sp"
android:scrollbars="vertical"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Ссылка на снимок экрана
Ответ №1:
Самый простой подход, на мой взгляд, состоит в том, чтобы подклассировать макет, который вы хотите выровнять, переопределив onMesure . Для instande:
public class SquaredLayout extends LinearLayout {
public SquaredLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
}
Комментарии:
1. Спасибо за 4-d ответ. Можете ли вы, пожалуйста, опубликовать полный код Java?
2. вы можете поместить его в свой xml. Просто не забудьте указать полный пакет: например
<my.package.SquaredLayout
, вместо того, чтобыLinearLayout
Ответ №2:
Хава, ты пытаешься написать selector.xml чтобы заострить внимание на фоновом режиме cornor? может быть, это вам поможет.