2017-08-20 24 views
-4

下面的佈局會放到單獨選項卡上的列表視圖中,但我正在爲此自定義適配器而苦惱於此視圖。無法獲得我想要的Android佈局

第一個imageView id'icon'我想要在左邊。 textView id'item'我想在id圖標的右邊和textView'textView1'的右邊我想要在該項目的下面,因爲即使是圖標右側的文本也沒有問題,因此這很好。

我遇到的問題是id 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> 

編輯:

enter image description here

+0

最好是你展示形象或者您計劃實現的屏幕截圖。這將有助於 – Inducesmile

+0

@Inducesmile是上述好嗎? – Sam

+0

所以這是一個列表中的行佈局? – Mehmed

回答

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> 

enter image description here

餘噸嗅探NativeExpressAdView將與您的Listview處於相同的佈局。

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' 
+0

嗨,我已經試過這個,並添加了依賴項,但它顯示錯誤,如錯誤:(31,46)找不到匹配給定名稱的資源(在'layout_constraintRight_toLeftOf'值爲'@ id/pause')。 – Sam

+0

是的,這是一個錯誤,我已經更新了XML,你可以再試一次嗎? – Mehmed