我想創建這種視圖,其中交叉應該是單獨的圖像視圖,因爲我希望它是可點擊的。我怎樣才能做到這一點?Android重疊圖像視圖
這將是偉大的如果我可以編程創建此視圖,因爲我是一個動態列表的圖像,我正在編程創建圖像視圖。我現在需要的僅僅是添加重疊的圖像視圖。
在此先感謝
我想創建這種視圖,其中交叉應該是單獨的圖像視圖,因爲我希望它是可點擊的。我怎樣才能做到這一點?Android重疊圖像視圖
這將是偉大的如果我可以編程創建此視圖,因爲我是一個動態列表的圖像,我正在編程創建圖像視圖。我現在需要的僅僅是添加重疊的圖像視圖。
在此先感謝
使用FrameLayout
,你可以在對方
防爆的頂部覆蓋的觀點:
FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
ImageView image = new ImageView(this);
iv.setImageResource(R.drawable.image);
ImageView cross = new ImageView(this);
i.setImageResource(R.drawable.cross);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT | Gravity.TOP;
i.setLayoutParams(layoutParams);
frame.addView(image);
frame.addView(cross);
創建RelativeLayout
編程,它包含兩個ImageViews
。將您的圖片放在第一張圖片中,將第二張圖片放在第二張圖片中。相應地調整邊距以將其放在右上角。
首先創建一個全新的結構佈局,例如「partial_layout.xml」的佔位符使用。然後在你的代碼首先做一個LayoutInflater像這樣的東西:
LayoutInflater mInflater = (LayoutInflater) this.getSystemService(this.LAYOUT_INFLATER_SERVICE);
然後嘗試像這樣的東西來獲得此佈局的新副本:
View convertView = mInflater.inflate(R.layout.partial_layout, null);
現在把你當前的數據這一觀點,並最終將此視圖添加到您的內容視圖。
如果您創建了一個視圖列表,您仍然可以通過僅在需要時才使用XML來擴展它 - 只需觀看演講「listView的世界」即可正確執行。使用ListView比創建許多視圖效率要高得多(例如,如果要顯示100個圖像,只有在屏幕上需要創建的圖像)。
無論如何,xml可以包含FrameLayout或RelativeLayout作爲根視圖,並且您只需根據您希望擁有的正確位置放置2個imageView。您可以爲此使用UI設計器,或者通過爲較大圖像添加margin-top來編輯XML本身。另外,確保在較小的圖像之前寫入較大的圖像。
至於點擊,你可以在小imaveView上使用setOnClickListener。
順便說一句,如果它只是圖像,你應該使用GridView而不是ListView。
只需要通過這個問題http://stackoverflow.com/questions/22790003/horizontal-scroll-over-a-list-of-image-views 這就是我必須這樣做的原因。我通過水平滾動視圖以其根元素作爲線性佈局解決了這個問題,並且在線性佈局中我正在編程式地添加這些圖像 – Vyper
好的,我已經爲您向我展示的問題添加了一個答案。希望這可以幫助。 –
感謝這對我有一些改變,我必須做的! – Vyper