0
我正在嘗試構建Android Wear應用程序。當我使用APK 23(Marshmallow)或更高版本開始新項目時,我使用新項目獲得的默認代碼如下:Android Wear - WatchViewStub已棄用
public class MainActivity extends Activity {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener()
{
@Override
public void onLayoutInflated(WatchViewStub stub)
{
mTextView = (TextView) stub.findViewById(R.id.textView);
}
});
}
}
但是根據Android blog,WatchViewStub
類是從API 23(棉花糖)棄用。根據博客文件rect_activity_main.xml
和round_activity_main.xml
被替換爲一個佈局文件。但我的問題是,即使當我用新的API開始一個新項目時,我仍然在我的項目中得到棄用的類和文件(XML)。根據博客,這是新的默認代碼應該如何在main_activity.java
;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.text);
}
我該如何解決這個問題?請在投票前發表評論。我在網上嘗試了很多東西,詢問堆棧溢出是我的最後手段。
你使用的是什麼版本的Android工作室?也許你應該更新到最新的穩定版本 –
你也可以查看這個[博客](https://sterlingudell.wordpress.com/category/wearables/),這提供了一個解決方法,以廢棄的WatchViewStub。你可以使用['onApplyWindowInsets'](https://developer.android.com/training/wearables/watch-faces/issues.html#ScreenShape),它可以很容易地獲得那裏的屏幕形狀 - 並相應地擴大適當的佈局。還有一個關於[使用API 23的圓形標識符爲Android Wear的圓形屏幕打造精美]的官方博客文章(https://android-developers.googleblog.com/2016/04/build-beautifully-for-android-wear。 HTML)。希望這可以幫助 –
@VadimKotov我使用Android Studio 2.3.1 – Vino