我一直试图基于我在纸上设计的东西来设计布局,但是没有设法使它也与我想要的方式保持一致,同时又无法适应所有屏幕,因此我采用了简单的结构我无法在以太布局中对齐所有内容,因此没有成功,我尝试将Relative和Linear混合使用,然后尝试将两者融合。
我将提供图像以显示我想要的布局样式。
谢谢。
答案 0 :(得分:1)
我前段时间做了类似的设计。我使用线性布局(垂直)制作不同的行,并在需要多列的情况下使用线性布局(水平),例如您的情况下的图像按钮1和图像按钮2。照顾好不同视图中的层次结构,因为如果做错了,它将变得非常混乱。
答案 1 :(得分:1)
报酬布局与线性布局
我不应该这样,因为他们俩是不同的并且有不同的目的
线性布局
您应该使用线性布局,其中您必须在视图中进行很多非布局更改,例如添加删除或动态更改,因为仅更改参数就不会重建整个布局
相关布局
您应该在想要实现某些对齐并且不希望小部件再次呈现的位置使用,因为相对布局的子级中的任何更改都会重新排列/重新绘制整个小部件
希望这可以提供更好的图片
答案 2 :(得分:1)
您可以在此设计中使用约束布局,它也可以使层次结构扁平化
答案 3 :(得分:1)
线性布局和相对布局都可以实现上述目的,但是线性布局可以更快地完成工作。>
对于上面的图片,这是开始使用 Linear Layout
所需要的<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/logo_image"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="centerCrop"
android:src="@drawable/ocean"/>
<TextView
android:id="@+id/title"
android:text="Title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="36sp"
android:fontFamily="sans-serif-light"
android:textColor="@android:color/black"
android:background="#ccddff"
android:gravity="center"
android:padding="20dp"/>
<TextView
android:id="@+id/block_of_text"
android:text="Sed aliquam ultrices mauris. Sed cursus turpis vitae tortor. Phasellus consectetuer vestibulum elit. Quisque malesuada placerat nisl."
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:fontFamily="sans-serif-light"
android:textColor="@android:color/black"
android:background="#B09E99"
android:gravity="left"
android:padding="8dp"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum = "2">
<ImageButton
android:id="@+id/image_button1"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/ibtn1"/>
<ImageButton
android:id="@+id/image_button2"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/ibtn2"/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum = "2">
<ImageButton
android:id="@+id/image_button3"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/ibtn3"/>
<ImageButton
android:id="@+id/image_button4"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/ibtn4"/>
</LinearLayout>
<ImageButton
android:id="@+id/image_button5"
android:layout_width="0dp"
android:layout_height="150dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/ibtn5"/>
</LinearLayout>
答案 4 :(得分:1)
Please Try This
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.2"
android:background="#DFF7FA"
android:gravity="center"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="Image/Logo"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.6"
android:gravity="center"
android:background="#B9CEBC"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="Title"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.3"
android:gravity="center"
android:background="#CECBCB"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="Block of Text"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.2"
android:weightSum="2"
android:orientation="horizontal"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_weight="1"
android:gravity="center"
android:background="#E0F5FE"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="ImageButton1"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="1"
android:background="#B2E4FC"
android:gravity="center"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="ImageButton2"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.2"
android:weightSum="2"
android:orientation="horizontal"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_weight="1"
android:gravity="center"
android:background="#B2E4FC"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="ImageButton3"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="1"
android:gravity="center"
android:background="#E0F5FE"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="ImageButton4"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:layout_width="match_parent"
android:layout_weight="2.4"
android:gravity="center"
android:background="#7FD7FF"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:text="ImageButton5"
android:textAlignment="center"
android:textSize="25sp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
[1]: https://i.stack.imgur.com/MmiUc.png
答案 5 :(得分:-1)
您应该尝试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</LinearLayout>
</LinearLayout>
在布局内使用任意按钮/文本,并使用自己想要的颜色。
希望这对您有所帮助。