2017-03-06 48 views
0
擴展的LinearLayout

我已經創建類:添加連鎖反應定製複合視圖

public class EventCategoryButton extends LinearLayout { 
    private ImageView mIconImageView; 
    private TextView mNameTextView; 

    public EventCategoryButton(Context context) { 
     super(context); 
     initializeViews(context); 
    } 

    // Constructors with 2 and 3 arguments ... 

    private void initializeViews(Context context) { 
     setOrientation(LinearLayout.HORIZONTAL); 
     setGravity(Gravity.CENTER_VERTICAL); 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     inflater.inflate(R.layout.component_event_category_button, this); 
     mIconImageView = (ImageView) findViewById(R.id.event_category_icon); 
     mNameTextView = (TextView) findViewById(R.id.event_category_name); 
    } 

    // Getters and setters... 
} 

和相應的佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<merge xmlns:android="http://schemas.android.com/apk/res/android"> 
    <ImageView 
     android:id="@+id/event_category_icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#0000"/> 

    <TextView 
     android:id="@+id/event_category_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20sp" 
     android:background="#0000" /> 
</merge> 

當我提出要求到我的服務器並獲取類,我環路在每個類別上創建並且創建EventCategoryButton。這是結果

home view with EventCategoryButtons

但是,當我點擊這個EventCategoryButton沒有漣漪效應(因爲它的LinearLayout)。所以我的問題是如何添加漣漪效應,重視onClick聽衆?

回答

0

使用此代碼對你的主要佈局應用默認選擇的影響(是Android 5.0以上)。

android:background="?android:attr/selectableItemBackground" 
+0

什麼我的主要佈局?我的'xml'文件中沒有'LinearLayout'標籤? – clzola

+0

@clzola你必須使用一些封裝佈局,總結的東西進去。所以在這個佈局上你可以應用這個屬性。 – androidnoobdev

+0

我在'LinearLayout'裏面包裝了'ImageView'和'TextView'並應用了'android:background =「?android:attr/selectableItemBackground」'但沒有任何效果,當我點擊它時沒有任何反應... – clzola