0
A
回答
1
儘量給背景色的GridView這樣
<GridView
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e5e5e5"
android:horizontalSpacing="1dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp" >
提供了DP horizontalSpacing和verticalSpacing的尺寸,並獲得您想要的分頻器 像灰色
+0
這只是使整個gridView指定爲背景的顏色。 –
1
背景顏色使用GridView
的android:horizontalSpacing
屬性。
1
剛剛創建自定義的GridView這樣
package net.nightwhistler.pageturner.view;
import net.nightwhistler.pageturner.R;
import net.nightwhistler.pageturner.library.LibraryBook;
import net.nightwhistler.pageturner.library.QueryResult;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.GridView;
public class BookCaseView extends GridView {
private Bitmap background;
private int mShelfWidth;
private int mShelfHeight;
private QueryResult<LibraryBook> result;
private LibraryBook selectedBook;
public BookCaseView(Context context, AttributeSet attributes) {
super(context, attributes);
this.setFocusableInTouchMode(true);
this.setClickable(false);
final Bitmap shelfBackground = BitmapFactory.decodeResource(context.getResources(),
R.drawable.shelf_single);
setBackground(shelfBackground);
this.setFocusable(true);
}
public void setBackground(Bitmap background) {
this.background = background;
mShelfWidth = background.getWidth();
mShelfHeight = background.getHeight();
}
protected void onClick(int bookIndex) {
LibraryBook book = this.result.getItemAt(bookIndex);
this.selectedBook = book;
invalidate();
}
@Override
protected void dispatchDraw(Canvas canvas) {
final int count = getChildCount();
final int top = count > 0 ? getChildAt(0).getTop() : 0;
final int shelfWidth = mShelfWidth;
final int shelfHeight = mShelfHeight;
final int width = getWidth();
final int height = getHeight();
final Bitmap background = this.background;
for (int x = 0; x < width; x += shelfWidth) {
for (int y = top; y < height; y += shelfHeight) {
canvas.drawBitmap(background, x, y, null);
}
//This draws the top pixels of the shelf above the current one
Rect source = new Rect(0, mShelfHeight - top, mShelfWidth, mShelfHeight);
Rect dest = new Rect(x, 0, x + mShelfWidth, top);
canvas.drawBitmap(background, source, dest, null);
}
super.dispatchDraw(canvas);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && this.selectedBook != null) {
this.selectedBook = null;
invalidate();
return true;
}
return false;
}
}
我得到了他的答案,從她的 background scrolling with item in gridview
相關問題
- 1. 在元素之間添加分隔符
- 2. Android的GridView分隔線可以在圖像之間繪製
- 3. 如何使行之間的分隔線
- 4. 在導航視圖之間添加分隔線
- 5. RecyclerView僅在一些項目之間添加分隔線
- 6. 添加分隔線
- 7. 如何在菜單組之間添加分隔符/分隔符?
- 8. 如何在asp.net中的行之間添加分隔符
- 9. 如何異步線路之間添加間隔,而在Node.js的
- 10. 母分隔線之外的分隔線
- 11. Android爲多行textView添加分隔線
- 12. 在子圖之間繪製分隔線
- 13. 在EXTJS3的組合框中的選項之間添加分隔線
- 14. Android GridView繪製分隔線
- 15. Qt:QListWidget項之間的分隔線?
- 16. div之間的HTML引導分隔線
- 17. 在菜單項之間添加分隔線(被忽略的僞類)
- 18. 在通知的傳輸元素之間添加垂直分隔線
- 19. 如何在chunk_split的2個字符串之間添加分隔線
- 20. 插入橫線分隔DataTable中的行之間在JSF 2.0
- 21. 如何在ActionBar中的菜單項之間添加分隔符?
- 22. 在GridLayout中添加分隔線RecyclerView
- 23. 如何在3個顯示值之間添加垂直分隔線?
- 24. 如何在首選項(設置菜單)之間添加分隔線?
- 25. 如何在gridview的行之間添加頁邊距
- 26. 添加間隔物線佈局的PyQt
- 27. 段之間添加隔板的TabBar
- 28. 第一行和第二行之間缺少swift tableview分隔線
- 29. 如何在兩個TreeTable入口之間添加分隔符
- 30. ActionBarCompat:在菜單項之間添加分隔符
http://stackoverflow.com/questions/7132030/android-gridview-draw -dividers –