下面的布局会放在一个单独的选项卡上的列表视图中,但我正在为这个自定义适配器的视图苦苦挣扎。
我想要的第一个imageView id'图标'在左边。我希望在id图标右侧的textView id'item'和textView'textView1'我想要在项目下面,这是好的,即使图标右侧的文本也没问题。
我遇到的问题是id pause和id icon2。我希望这些在上面的textviews和imageviews的最右边。
<?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"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="5dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:id="@+id/item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="2dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4CBE99"
android:textAllCaps="true"
android:textStyle="bold"
/>
<ImageView
android:id="@+id/pause"
android:layout_gravity="left"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
android:orientation="horizontal"
/>
<ImageView
android:id="@+id/icon2"
android:layout_gravity="right"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
android:orientation="horizontal"
android:layout_toRightOf="@id/pause"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp" />
<com.google.android.gms.ads.NativeExpressAdView
android:id="@+id/adView"
android:layout_width="420dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="visible"
ads:adUnitId="ca-app-pub-3940256099942544/2793859312"
ads:adSize="200x80"
android:layout_weight="3.40"></com.google.android.gms.ads.NativeExpressAdView>
</LinearLayout>
</LinearLayout>
编辑:
答案 0 :(得分:1)
这可以使用ConstraintLayout
而不使用嵌套布局来实现:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="5dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/item"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:padding="2dp"
android:textAllCaps="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4CBE99"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@+id/icon"
app:layout_constraintRight_toLeftOf="@+id/pause"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
app:layout_constraintLeft_toRightOf="@+id/icon"
app:layout_constraintRight_toLeftOf="@+id/pause"
app:layout_constraintTop_toBottomOf="@+id/item" />
<ImageView
android:id="@+id/pause"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
app:layout_constraintRight_toLeftOf="@+id/icon2"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/icon2"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
不要忘记将以下行添加到build.gradle中的依赖项:
compile 'com.android.support.constraint:constraint-layout:1.0.2'
答案 1 :(得分:0)
这适用于每个列表项
<?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="wrap_content"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/add"
android:padding="5dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1">
<TextView
android:id="@+id/item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="2dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4CBE99"
android:text="Item"
android:textAllCaps="true"
android:textStyle="bold" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView1"
android:layout_marginLeft="10dp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/pause"
android:layout_gravity="center_vertical"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
android:src="@drawable/add"
android:orientation="horizontal"
/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon2"
android:layout_width="35dp"
android:layout_height="35dp"
android:padding="5dp"
android:layout_gravity="center_vertical"
android:src="@drawable/add"
android:orientation="horizontal" />
</LinearLayout>
我认为NativeExpressAdView与Listview的布局相同。