前言
本博文主要是对隐去默认的toolbar+设置全屏需求实现的一个介绍,以及记录,方便后续使用时候可以直接加载。
toolbar 介绍
在Android Studio中,Toolbar是一种UI组件,用于在应用程序的顶部显示标题和操作按钮。它是一种替代传统Action Bar的工具栏,提供了更大的灵活性和自定义选项。
Toolbar可以包含以下元素:
- 标题:可以在Toolbar中显示应用程序的标题。
- 操作按钮:可以在Toolbar中添加操作按钮,如搜索按钮、菜单按钮等。这些按钮可以在用户与应用程序进行交互时触发相应的操作。
- 导航按钮:可以在Toolbar中添加导航按钮,用于实现返回功能或者导航到其他部分的功能。
Toolbar在布局文件中可以使用<android.support.v7.widget.Toolbar>标签来定义,它是Support Library的一部分,可以向后兼容到较旧版本的Android系统。
在Java代码中,可以通过findViewById()方法获取Toolbar的实例,并使用setSupportActionBar()方法将其设置为ActionBar。这样,Toolbar就可以像传统的Action Bar一样被使用。
Toolbar还支持自定义样式和主题,可以通过在styles.xml文件中定义相应的样式来修改Toolbar的外观和行为。
总而言之,Toolbar是一个强大的工具,可以用于在应用程序中实现顶部导航和操作按钮,提供更好的用户体验和界面设计。
实现
隐去默认的toolbar
1.隐去默认的toolbar;
//方法一:隐藏actionbar
if (getSupportActionBar() != null) {
getSupportActionBar().hide();
}
//方法二:
//AndroidManifest.xml的activity中加入,缺点,activity整体类型发生改变
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
全屏
方法一
//隐藏标题栏
getSupportActionBar().hide();
//隐藏系统状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
方法二
big_image=(ImageView)findViewById(R.id.big_pic1) ;
big_image.setOnClickListener(this);
image=(ImageView)findViewById(R.id.image);
image.setOnClickListener(this);
public void onClick(View v) {
int ItemId = v.getId();//获取组件的id值
switch (ItemId) {
case R.id.image:
big_image.setVisibility(View.VISIBLE);
image.setDrawingCacheEnabled(true);//获取bm前执行,否则无法获取
Bitmap bm2 = image.getDrawingCache();
big_image.setImageBitmap(bm2);
break;
case R.id.big_pic1:
big_image.setVisibility(View.GONE);
break;
}
}
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"
android:id="@+id/big_pic"/>
额外补充
需求实现部分就先到这!接下来,是一些个人平时整理的c++要点概要,如有需要可以进行阅读!
虚函数和纯虚函数
纯虚函数是指在 C++中, 函数可以用“virtual”和“= 0”关键字来声明。 该函数是一个虚函数,但是在声明时, 没有定义它的函数体。 它是一个空函数, 只提供函数声明, 而不提供实际实现。 由于它编译器不能确定如何实现, 因此需要在子类中实现它。 因此, 纯虚函数也被称为抽象函数。 形如:
class <类名>
{
virtual <类型><函数名>(<参数表>)=0;
…
};
虚函数和纯虚函数的特性:
- 虚函数可以在类中声明, 也可以在类的外部声明, 编译器会自动将它们转换为虚函数;但是纯虚函数只能在类中声明, 而不能在类的外部声明。
- 虚函数可以有实现, 也可以没有实现; 而纯虚函数没有实现, 不可以有实现。
- 虚函数可以在子类中覆盖, 也可以不被覆盖; 而纯虚函数必须在子类中覆盖, 否则编译器将报错。
- 虚函数可以被多态调用, 也可以被静态调用; 而纯虚函数只可以被多态调用, 不可以被静态调用。
友元关系
友元关系是单向的, 不是对称, 不能传递。
- 关于传递性, 有人比喻: 父亲的朋友不一定是儿子的朋友。
- 那关于对称性, 是不是: 他把她当朋友, 她却不把他当朋友? 如, 类 A 是类B 的友元, 类 C 是类 A 的公有派生类。 则类 C 不是类 B 的友元, 类 B 不是类 A 的友元
复杂度
- vector 插入 ,该位置插入后后面的都要改变 O(n)
- Set 底层红黑树 O(logn)
- Hash_map 底层哈希表 O(1)
- Deque 尾部可以直接修改 O(1)
抽象类的规定
- 抽象类只能用作其他类的基类, 不能建立抽象类对象。
- 抽象类不能用作参数类型、 函数返回类型或显式转换的类型。
- 可以定义指向抽象类的指针和引用, 此指针可以指向它的派生类, 进而实现多态性。
常成员函数
const void print(const int num)const
- 第一个 const 修饰返回类型
- 第二个 const 修饰参数
- 第三个 const 修饰类的成员函数
常成员函数声明: 形如 void funcName(参数表) const;
对于常成员函数需要注意:
- 其实现部分也要带 const 关键字;
- 不能修改类的成员变量, 不能调用类中没有被 const 修饰的成员函数(即只能调用常成员函数) 。