2014-03-31 5 views
5

Google Glass에서 기본 유리 화면의 목록처럼 외모와 기능 (머리 움직임으로 스크롤) 목록을 구현할 수 있습니까?Google Glass에서 ListVIew 사용

내가 언급 한 목록은 유리에 다음과 같습니다

enter image description here

나는 여기에 대한 문서 그래서 어떤 도움을 주시면 감사하겠습니다을 찾을 수 없습니다.

답변

3

여기에 tp 머리 움직임에 반응하는 ListViewScrollView이 있습니다.

+0

감사합니다이 날 :) 여기 – Aksiom

+0

는 몇 가지 작업의 예 당신이 먹통 경우 https를 시작할 수 얻을 것이다 ://github.com/chrisberry – thechrisberry

+0

안녕 pscholl. 제공 한 링크를 더 이상 사용할 수 없습니다. 시간과 의지가 있다면, 그들을 업데이트하십시오 :). 감사! –

0

다음은 내 머리글 스크롤 가능 목록보기의 예입니다. 그것은 매우 간단하고 원시적인 예입니다. 이 중 하나에서, 당신이 원하는대로 자신 만의 맞춤 스크롤 가능한 목록보기를 개발할 수 있다고 생각합니다. 단지 몇 가지 항목과 헤드 각도를 검색하는 센서 관리자가있는 목록보기가 있습니다. 피치 각도와 선형 매핑 공식 (headview 간격을 목록보기의 항목 수로 표시된 간격으로 매핑 됨)을 기반으로 머리글 스크롤 가능 목록보기를 쉽게 만들 수 있습니다. 나는 그것이 도움이되기를 바랍니다.

레이아웃 :

<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" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     tools:context="com.example.headangles.MainActivity" > 

     <ListView 
      android:id="@+id/list" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent"> 
     </ListView> 

</RelativeLayout> 

활동 :

public class MainActivity extends Activity implements SensorEventListener { 

private SensorManager mSensorManager; 
private Sensor mOrientation; 

ListView listView ; 
ArrayAdapter<String> adapter; 

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

    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
    mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); 
    mSensorManager.registerListener(this, mOrientation, SensorManager.SENSOR_DELAY_GAME); 

    // Get ListView object from xml 
    listView = (ListView) findViewById(R.id.list); 

    // Defined Array values to show in ListView 
    String[] values = new String[] { "Android List View", 
      "Adapter implementation", 
      "Simple List View In Android", 
      "Create List View Android", 
      "Android Example", 
      "List View Source Code", 
      "List View Array Adapter", 
      "Android Example List View" 
    }; 

    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values); 

    // Assign adapter to ListView 
    listView.setAdapter(adapter); 
} 

@Override 
public void onAccuracyChanged(Sensor sensor, int accuracy) {} 

@Override 
public void onSensorChanged(SensorEvent event) { 
    /* *** need only pitch angle (head bouncing backwards and forward)*** */ 
    float pitch_angle = event.values[1]; 

    /* *** first interval head angle degrees *** */ 
    int top_head_angle_limit = -110; 
    int bot_head_angle_limit = -70; 

    /* *** second interval *** */ 
    int top_list_item_limit = 0; 
    int bot_list_item_limit = adapter.getCount(); 

    /* *** linear mapping/ map interval [-110,-70](head angle degrees) -> [0, 8] list items *** */ 
    /* *** linear mapping formula: (val - A)*(b-a)/(B-A) + a *** */ 
    if(pitch_angle >= top_head_angle_limit && pitch_angle <= bot_head_angle_limit){ 
     int selection = (int) ((pitch_angle - top_head_angle_limit)*(bot_list_item_limit - top_list_item_limit)/(bot_head_angle_limit - top_head_angle_limit) + top_list_item_limit); 
     Log.e("selection: ", String.valueOf(selection)); 
     listView.setSelection(selection); 
    } 
} 

}

+0

'항목을 클릭하십시오'에 대해서는 어떻게 할 수 있습니까? 나는 집중된 것을 의미합니까? 'listView.setOnItemClickListener()'를 시도했지만 작동하지 않습니다. – hrskrs

관련 문제