刚学Android开发的时候,由于android默认的titlebar色彩样式单一,你是不是也经常对下列图片的title不满意呢?
这篇文章将介绍如何删除默认的titlebar并自定义自己的titlebar。
去除默认的Title在当前Activity的java代码中的onCreate()方法中增加下列语句,且必须加在:setContentView(R.layout.XXXXXXX)前面!
注意不同的继承情况!
- 如果当前Activity继承自AppCompatActivity:
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
- 如果当前Activity继承自Activity:
requestWindowFeature(Window.FEATURE_NO_TITLE);
- 其它完整处理方法见这篇博客
- titlebar.xml
- activity_main.xml
- MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
}
- 未点击时的背景样式文件search_bg_normal.xml
android:shape="rectangle"定义为矩形,圆角为12.0dp
- 点击时的背景样式文件search_bg_pressed.xml
与上一个未点击时的样式文件search_bg_normal不同的就是颜色发生的变化,形成最终点击时会改变颜色的效果
- 背景选择器search_bg_selecter.xml
此选择器分别指定了android:state_pressed="false"未点击和android:state_pressed=“true” 点击两个状态的不同显示,这两个不同的显示由两个shape文件来指定其样式
- 左边放大镜图的选择器search_left_selecter.xml
- 文字颜色选择器search_text_color_selecter.xml
效果
是不是好看多了呢?虽然我的图片不好看,临时搜集凑的。
drawable资源图片源自网络,仅用于学习交流!
hongdian.jpg
history.jpg
todo.jpg
search.jpg
search_press.jpg
logo.jpg
参考文章:Titlebar的布局文件编写


