专业的JAVA编程教程与资源

网站首页 > java教程 正文

AndroidStudio安卓原生开发_Activity和AppCompatActivity的区别

temp10 2024-10-26 15:15:35 java教程 12 ℃ 0 评论

这里只说一下最直接的区别,之前做项目都是继承Activity,偶尔也看到别人继承AppCompatActivity的,所以这里说一下两者区别.

public class MainActivity extends AppCompatActivity {  

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
    }  
}  

可以看到一下,我们写一个MainActivity继承AppCompatActivity去看看效果

AndroidStudio安卓原生开发_Activity和AppCompatActivity的区别

可以看到运行的时候,上面有个Toolbar.

但是继承Activity的时候,就没有这个Toolbar

?

在compile ‘com.android.support:appcompat-v7:26.1.0’包之前的时候,还有个ActionBarActivity,但是这个类,实际上,就是

AppCompatActivity这个类,可以去看源码:

?

当然如果你继承了,AppCompatActivity,但是不想用那个Toolbar可以

去掉AppcompaActivity的Toobar的方法

if (getSupportActionBar()!=null){ 
getSupportActionBar().hide(); 
} 

3.还有一点需要注意:

AppCompatActivity:继承了这个AppCompatActivity的这个activity

的主体,theme只能用android:theme=”@style/AppTheme

(当然也可以是appTheme子类),不能用android:style。 否则会报错:

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表