使用视图显示图片和菜单
显示图片的视图控件
GridView 添加方式:
其中1
2
3
4
5
6
7
8
9<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gridview"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"/>//缩放与列宽同步verticalSpacing
表示 grid 元素之间的竖直距离,horizontalSpacing
表示 grid 元素之间的水平距离。 常用方法:1
2
3
4
5
6
7gridView.setAdapter(new ImageAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(), "pic" + (position + 1) + "selected", Toast.LENGTH_SHORT).show();
}
});显示效果:
菜单和视图一起显示
常用方法:
CreateMenu(Menu menu)
创建菜单项1
2
3
4
5
6
7
8
9
10
11private void CreateMenu(Menu menu) {
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
{
mnu1.setAlphabeticShortcut('a');
}
MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");
{
mnu2.setAlphabeticShortcut('a');
}
}add()
方法中4个参数:- groupId 菜单项所在的组的标识符,0 表示不在一个组中。
- itemId 唯一的菜单项ID
- order 菜单项显示的顺序
- title 菜单项显示的文本
MenuChoice(MenuItem item)
用于判断菜单项是否被选中1
2
3
4
5
6
7
8
9
10
11private boolean MenuChoice(MenuItem item) {
switch (item.getItemId()) {
case 0:
Toast.makeText(this, "You clicked on Item1", Toast.LENGTH_SHORT).show();
return true;
case 1:
Toast.makeText(this, "You clicked on Item2", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}=onCreateOptionsMenu()
当 MENU 按钮按下时调用1
2
3
4
5public boolean onCreateOptionsMenu (Menu menu) {
super.onCreateOptionsMenu(menu);
CreateMenu(menu);
return true;
}onOptionsItemSelected()
选择菜单时调用1
2
3public boolean onOptionsItemSelected (MenuItem item){
return MenuChoice(item);
}setOnCreateContextMenuListener
设置上下文菜单 通过设置setOnCreateContextMenuListener
方法,然后实现onCreateContextMenu
方法即可。实现效果如图:1
2
3
4
5public void onCreateContextMenu(ContextMenu menu,
View view, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view, menuInfo);
CreateMenu(menu);
}
WebView
添加 WebView
1
2
3
4<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webview"/>避免启动设备的 Web 浏览器 实现 WebViewClient 类重写
shouldOverrideUrlLoading
1
2
3
4
5
6
7webView.setWebViewClient(new CallBack());
public class CallBack extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return (false);
}
}