我正在開發一個Android應用程序。在主要活動屏幕上有一個視圖,該視圖調用View類的onDraw方法。但包括觀點的正確方法是什麼?如何包含查看最佳方式並調用它?
包括在XML中的標籤的看法。視圖被繪製。
包括與無效的觀點()和XML的文件:onDraw有被稱爲兩次
包括與無效(視圖),並沒有在XML的文件標籤:什麼也不繪製
包括與的setContentView()的看法:圖繪,但沒有動作條了
你能不能給我一個提示如何解決呢? 因爲我們想要的東西,該視圖能夠: 1.如果我們通過單擊操作欄菜單轉到另一個活動,並使用向上按鈕返回,應該再次顯示舊視圖,而不是再次繪製。這怎麼可能。
- 通過點擊另一個Activity的按鈕,可以調用onDraw方法,並通過Intent指向MainActivity。
我希望有人能幫助我:)
主要活動的XML:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>
主要活動內容XML:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="MainActivity"
tools:showIn="@layout/activity_main">
<view
android:id="@+id/view"
class="MyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.437"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
主Actitivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//XML-Layout über die Ressourcen Variable holen
setContentView(R.layout.activity_main);
//Toolbar als ActionBar hinzufügen
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Logo in Action Bar integrieren
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.hsd_logo_weiss);
getSupportActionBar().setDisplayUseLogoEnabled(true);
}
}
感謝您的回答。但有沒有可能不使用onDraw?然後視圖不繪製。或者我錯了?有沒有辦法來特別定義何時渲染視圖和何時採取舊狀態? – Tommy
在Manifest中使用android:launchMode =「singleTop」。舊國家被採取。但只有在Android 7中有一個問題:當我按下向上按鈕時,設置Activity的所有更改都會被假定。但只能在設置屏幕上點擊應用按鈕時才能進行更改。在Andorid 5和6上它工作正常。 – Tommy
如果我沒有記錯,在activity.xml中應該是調用權限(這是單詞......)「頁面」的設置,當你開始和離開時,除非代碼中有某些內容,**大多數可能是聽衆**,會修改其中的某些內容 –