2016-03-21 39 views
0

Hem mobil (9'da minSdkVersion) hem de numaralı modüllerdeki (minSdkVersion) modülleri sıfırdan yeni bir proje oluşturdum ve aşınma ve yıpranma için düzenlerin nasıl belirtileceğini merak ettim. -square (WatchViewStub sınıfı ile biraz oynamam gerekiyor mu?) aygıtları. Bunun gibi, verilerin elde taşınan cihazdan aşınmaya gönderileceğinin farkındayım, ancak uygulamanın, yekpare ve yıpranmış kare düzenlerde (özellikle yalnızca XML dosyaları kullanılarak) çalışmasını sağlayacak şekilde nasıl yapılandırabilirim?Mobil ve aşınma modülleri için düzenleri belirleme

, her şey varsayılan olarak ayarlı aşınma modülü altında düzenleri (Ben bir şey değiştirmedi) gelince
<?xml version="1.0" encoding="utf-8"?> 
<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"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Hello mobile world!" 
     android:id="@+id/textView" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 
</RelativeLayout> 

, o içerir böylece, ancak:

İşte benim cep \ ... \ activity_main.xml var sınırlı olan, WatchViewStub sınıfının uygulanması yoluyla, "Merhaba Kare Dünya!" çıkması gereken yuvarlak ve kare ekranlar için XML'ler ile sınırlı Daha sonra burada

package dpark.gameoflife; 

import android.app.Activity; 
import android.os.Bundle; 
import android.support.wearable.view.WatchViewStub; 
import android.widget.TextView; 

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.text); 
      } 
     }); 
    } 
} 

... Ve ben giymek sanal emülatörleri aldığım budur: ve "Merhaba Yuvarlak Dünya", sırasıyla ve İşte MainActivity \ ... \ benim bakir aşınma

var vs.:

enter image description here

neden yuvarlak sanal emülatör üzerinde yuvarlak görünmüyor?

enter image description here

sayesinde, büyük ölçüde takdir ediyorum.

cevap

1

Kaynak eleme layout-round ve layout-square yalnızca SDK seviyesinde 23. yılında tanıtıldı yuvarlak ve kare ekranlar için farklı düzenleri ile önceki seviyelerini hedeflemek için, WatchViewStub veya BoxInsetLayout, hem documented here kullanmak için her isteyeceksiniz.

Sürüm takviminize bağlı olarak, SDK 23'ü giyilebilir tarafta da hedefleyebilirsiniz. 23 zaten saatin çoğunda ve Google, tüm Wear cihazlarının yakında geleceğini söyledi (ish).

Ve yuvarlak öykünücünüzün kareyi görüntülediği gibi ... iyi bir açıklama yok, ancak bazen bunu yapıyorlar. Bunu birkaç kez yeniden başlatın, gerekiyorsa silin ve yeniden oluşturun ve sonunda kendini sıralamanız gerekir.

+0

Teşekkürler bayım! :) – DaveNOTDavid

İlgili konular