关于Android开发自己的一些知识储备
本文是博主用于总结自己学习Android过程中学习到的知识以及踩的一些坑
目录:
- 简单的测试方式:Toast
- 全屏显示,自定义Title,取消actionbar
- webView踩的坑
- 简单的测试方式:Toast
- 默认底部样式:
Toast.makeText(getApplicationContext(), "默认底部Toast样式",
Toast.LENGTH_SHORT).show();
- 自定义显示位置:
toast = Toast.makeText(getApplicationContext(),"自定义位置Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
- 带图片的Toast:
toast = Toast.makeText(getApplicationContext(),"带图片的Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0); //设置位置
LinearLayout toastView = (LinearLayout) toast.getView(); //设置布局
ImageView mImageView = new ImageView(getApplicationContext());
mImageView.setImageResource(R.drawable.icon);
toastView.addView(mImageView, 0); //将ImageView加入LinearLayout
toast.show();
- 用toolbar代替actionbar
Toolbar toolbar = (Toolbar)findViewById(R.id.tool_bar);
//声明toolbar
setSupportActionBar(toolbar);
//用toolbar替换Actionbar
final ActionBar actionBar = getSupportActionBar();
//声明Actionbar(因为Actionbar已经被替换,所以相当于声明toolbar)
if (actionBar != null){
actionBar.setDisplayHomeAsUpEnabled(true);
//显示左上角菜单栏,默认为false
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
//设置菜单栏样式
}
actionBar.setDisplayShowTitleEnabled(true);
//显示标题
actionBar.setTitle("社会新闻");
//标题内容
- webView踩的坑
- APP调用外部浏览器而不是直接在webview上加载网页
解决方法:
在使用 WebView 加载网页时,默认会调用系统的外部浏览器来加载页面,原因是因为 WebViewClient 中的 shouldOverrideUrlLoading 方法默认返回为false。
要使用内部的 WebView 加网页就要重写 shouldOverrideUrlLoading 方法,使其返回 true。
webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.loadUrl("目标页面地址");