修改名稱
創建項目的時候,APP的名字取為英文或者拼音,是為了簡便,但是顯示在界面上,我們當然希望它是中文的。
taoguanstring>
我們要做的很簡單,就是在string.xml中,將app_name的內容修改為我們希望的名字:
陶罐PDF閱讀器string>
使用GridView創建書架
創建一個書架類
在主包目錄上單擊右鍵,新建一個Java Class:
添加成功后,為其添加一個構造函數,最終代碼如下:
public class BookShelf extends GridView {
public BookShelf(Context context, AttributeSet attrs){
super(context,attrs);
}
}
這里對于自己手動添加構造函數我是有一點疑惑的,我不知道能否自動添加,因為對于初學者來說,手動添加稍微有一點點麻煩。
添加書架和圖書背景圖
將準備好的兩張圖,加入到drawable目錄下:
怎么加?我是直接將圖復制到drawable文件目錄下的,至于還有沒有其他方式,我暫時也不清楚。其相對目錄如下:
\taoguan\app\src\main\res\drawable
繪制書架背景
1、 首先將背景圖加載進來
private Bitmap background;
public BookShelf(Context context, AttributeSet attrs){
super(context,attrs);
background = BitmapFactory.decodeResource(getResources(),
R.drawable.bookshelf_layer_center);
}
2、重寫dispatchDraw方法
你只要直接敲方法名,AS會給出接口提示的,直接選擇:
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
}
3、添加繪制代碼
@Override
protected void dispatchDraw(Canvas canvas) {
int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;
int backgroundWidth = background.getWidth();
int backgroundHeight = background.getHeight();
int width = getWidth();
int height = getHeight();
for (int y = top; y < height; y += backgroundHeight) {
for (int x = 0; x < width; x += backgroundWidth) {
canvas.drawBitmap(background, x, y, null);
}
}
super.dispatchDraw(canvas);
}
注意:本段代碼來自網絡,如有雷同,純屬抄襲。
將書架視圖添加到主界面
打開主界面的布局文件,進入設計模式,先刪掉helloworld那個文本視圖,然后將書架視圖拖動到主界面上:
注意這里的UI元素比較多,先點擊Project進行過濾。
在設計界面,我們已經看到了預覽效果,但是有一些錯誤提示,那是因為沒有添加布局約束。
為書架視圖添加布局約束
單擊預覽界面上的書架視圖,右側就會顯示添加約束的界面:
這里我們希望書架的邊沿沒有留白,因此我們點擊加號,選取數字0.
然后,再選擇layout_width和layout_height為match_constraint.如下圖:
設置完成后,可以看到預覽效果已經發生了改變:
而模擬器上的運行效果也是類似的,完全符合我們的預期:
接下來,我們將在書架上添加圖書。下節見。