我正在使用Android中的嵌套ViewGroup,我只使用了LinearLayout和RelativeLayout,我需要设计一个如下图所示的Activity
所以我用嵌套的ViewGroup
创建了下面显示的xml代码<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.akashpreet.cards.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/one1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/a" />
<TextView
android:id="@+id/one2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/one3"
android:text="OneName" />
<TextView
android:id="@+id/one3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="OneNameDes" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/two1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/b" />
<TextView
android:id="@+id/two2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/two3"
android:layout_alignParentLeft="true"
android:text="TwoName" />
<TextView
android:id="@+id/two3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="TwoNameDes" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/three1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/c" />
<TextView
android:id="@+id/three2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/three3"
android:text="ThreeName" />
<TextView
android:id="@+id/three3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="ThreeNameDes" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/four1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/d" />
<TextView
android:id="@+id/four2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/four3"
android:text="FourName" />
<TextView
android:id="@+id/four3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="FourNameDes" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/five1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/e" />
<TextView
android:id="@+id/five2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/five3"
android:text="FiveName" />
<TextView
android:id="@+id/five3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="FiveeNameDes" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/six1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/f" />
<TextView
android:id="@+id/six2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/six3"
android:text="SixName" />
<TextView
android:id="@+id/six3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="SixNameDes" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
但是我的输出并不像预期的那样,就像下面显示的图像布局不均匀
请有人帮我修改我的代码,以便ImageView在我的Activity中均匀排列,我使用了a,b,c,d,e,f作为我在代码中使用的6个图像文件的名称我使用了一些不完整的样本图片。
答案 0 :(得分:0)
您使用的是视图组,但是您有另一个选项使用gridview。 您使用的是linearlayout,权重= 1,方向水平,现在只需将权重= .5添加到图像的相对布局。
io.on('connection', function(socket){
console.log(socket);
...
}
答案 1 :(得分:0)
更改嵌套相对布局的权重。
这是因为图像高度/宽度不固定。
更改图像的父相对布局,如下所示:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/one1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/a" />
到
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" >
<ImageView
android:scaleType="fitXY"
android:id="@+id/one1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a" />
答案 2 :(得分:0)
我找到了问题的答案。
如果我在XML中更改此代码
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/one1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/a" />
到
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<ImageView
android:id="@+id/one1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/a" />
在我的所有RelativeLayout中如果我添加 android:layout_weight =&#34; 1&#34; 和 android:layout_width =&#34; 0dp&#34; < / p>
我按预期在Activity中获得输出。