AppCompatActivity 사용
8845 단어 android
이것은 이름의 변화만이 아니라 내부 실현 원리는 사실 AppCompatDelegate를 통해 이루어진 것이다.AppCompatDelegate는 임의의Activity에 넣고 해당 라이프 사이클을 리셋할 수 있는 클래스입니다.
public class AppCompatActivity extends FragmentActivity implements AppCompatCallback,
TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider{
...
}
이 때, 새로운 작업을 시작하기 위해 Intent를 만들고, 프로그램의 정상적인 반환 행위를 다시 시작하기 위해 백스테이크를 제공해야 합니다.
특수 탐색:
알림 표시줄에서 활동이 열리고 사용자는 보조 활동만 볼 수 있습니다.어떤 의미에서 보면 이 이벤트를 여는 목적은 알림에 표시하기 어려운 정보를 보여주는 것이다.이 경우 Back stack을 만들 필요 없이 Intent를 생성하여 새 작업을 시작합니다.시작된 활동이 응용 프로그램 활동 흐름의 일부가 아니기 때문이다.리트랙트 키를 누르면 사용자를 홈 화면으로 직접 돌려보냅니다.
Pending Intent에 대해 말씀드렸습니다. 맞아요. SupportParentable을 실현하면 Pending Intent
public interface SupportParentable {
Intent getSupportParentActivityIntent();
}
public TaskStackBuilder addParentStack(Activity sourceActivity) {
Intent parent = null;
if (sourceActivity instanceof SupportParentable) {
parent = ((SupportParentable) sourceActivity).getSupportParentActivityIntent();
}
if (parent == null) {
parent = NavUtils.getParentActivityIntent(sourceActivity);
}
if (parent != null) {
// We have the actual parent intent, build the rest from static metadata
// then add the direct parent intent to the end.
ComponentName target = parent.getComponent();
if (target == null) {
target = parent.resolveActivity(mSourceContext.getPackageManager());
}
addParentStack(target);
addNextIntent(parent);
}
return this;
}
// , 。
Action Bar가 지시하는drawable와 내용 설명을 설정할 수 있습니다
ActionBar의 context, 표시된drawable, 되돌아오는 아이콘이 보일 지 여부 등 제공
AppCompatActivity 기능을 간단하게 사용할 수 있습니다.
ActionBar 대신 ToolBar를 사용하도록 하겠습니다.
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.NoActionBar">
-- colorPrimaryDark( -->
<item name="colorPrimaryDark">@android:color/transparent
style>
<style name="AppTheme" parent="AppBaseTheme">style>
resources>
"1.0" encoding="utf-8"?>
.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize" >
"@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Toolbar Title"
android:textAppearance="?android:attr/textAppearanceLarge" />
.support.v7.widget.Toolbar>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<include
layout="@layout/toolbar"
/>
RelativeLayout>
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init(){
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Toolbar의 용법은 여기에 서술하지 않습니다이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.