[英]how do i implement an on click listener to fullscreen each image in this grid view?
[英]How to implement on click listener on Grid Layout with Image View and Text View?
我想使用網格布局(不是網格視圖),並且在每個單元格中我想要圖像視圖,在它下面是一個文本視圖。 我想在網格布局的每個單元格上實現單擊偵聽器。請有人告訴我該怎么做?
假設您的單元格布局的最頂層包裝器是 RelativeLayout,這里是代碼,可能會起作用:
GridLayout grid = (GridLayout) findViewById(R.id.your_layout_id);
int childCount = grid.getChildCount();
for (int i= 0; i < childCount; i++){
RelativeLayout container = (RelativeLayout) grid.getChildAt(i);
container.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
// your click code here
}
});
}
我相信最好將 CardView 與網格布局一起使用,在 CardView 中您可以放置圖像和文本,並且可以直接設置 onClickListener。 例如
cardApplication.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,ApplicationList.class);
startActivity(intent);
}
});
其中 cardApplication 是我的CardView
在網格布局中的名稱。
這是我CardView
的 xml 的樣子:
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:layout_marginBottom="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:cardElevation="8dp"
app:cardCornerRadius="8dp"
android:id="@+id/cardApplication"
android:clickable="true"
>
<LinearLayout
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="16dp"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/ic_apps"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="Applications"
android:textAlignment="center"
android:textColor="#000000"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
gl=(GridLayout) findViewById(R.id.gl);
int childCount = gl.getChildCount();
for(int i=0;i<childCount;i++){
LinearLayout l = (LinearLayout) gl.getChildAt(i);
l.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
Intent i=new Intent(MainActivity.this,SecondActivity.class);
startActivity(i);
}
});
}
實施Clicklistener
上childview
布局。 例如在Imagebutton.setClicklistener(this)
,您可以對布局中的每個單元格做出反應
你也可以從 View() 類擴展你自己的磚類擴展 ImageButton
然后直接在 Object 中構建自己的方法成員變量
希望這有助於帕特里克·沃塔爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.