你的位置:首页 > 操作系统

[操作系统]旋转转盘选择Menu


 CircleMenu在github上的项目主页是:https://github.com/zhangphil/Android-CircleMenu 

CircleMenu用法简单,JAVA代码:

package com.szugyi.circlemenu;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.TextView;import android.widget.Toast;import com.szugyi.circlemenu.view.CircleImageView;import com.szugyi.circlemenu.view.CircleLayout;import com.szugyi.circlemenu.view.CircleLayout.OnItemClickListener;import com.szugyi.circlemenu.view.CircleLayout.OnItemSelectedListener;public class MainActivity extends Activity implements OnItemSelectedListener, OnItemClickListener{    private  TextView selectedTextView;    @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        CircleLayout circleMenu = (CircleLayout)findViewById(R.id.main_circle_layout);    circleMenu.setOnItemSelectedListener(this);    circleMenu.setOnItemClickListener(this);    //这个TextView仅仅作为演示转盘按钮以何为默认的选中项,    //默认的最底部的那一条被选中,然后显示到该TextView中。    selectedTextView = (TextView)findViewById(R.id.main_selected_textView);    selectedTextView.setText(((CircleImageView)circleMenu.getSelectedItem()).getName());  }  //圆盘转动到底部,则认为该条目被选中  @Override  public void onItemSelected(View view, int position, long id, String name) {        selectedTextView.setText(name);  }  //选择了转盘中的某一条。  @Override  public void onItemClick(View view, int position, long id, String name) {    Toast.makeText(getApplicationContext(), getResources().getString(R.string.start_app) + " " + name, Toast.LENGTH_SHORT).show();  }}

 

activity_main.

<RelativeLayout ="http://schemas.android.com/apk/res/android"  ="http://schemas.android.com/apk/res/com.szugyi.circlemenu"  ="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity" >  <com.szugyi.circlemenu.view.CircleLayout    android:id="@+id/main_circle_layout"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_above="@+id/main_selected_textView"    android:layout_gravity="center_horizontal"    circle:firstChildPosition="South"    circle:isRotating="true"    circle:rotateToCenter="true" >    <!-- circle:circleBackground="@drawable/green"  -->    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_facebook_image"      circle:name="@string/facebook"      android:layout_width="35dp"      android:layout_height="35dp"      android:src="@drawable/icon_facebook" />    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_myspace_image"      circle:name="@string/myspace"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/icon_myspace" />    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_google_image"      circle:name="@string/google"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/icon_google" />    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_linkedin_image"      circle:name="@string/linkedin"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/icon_linkedin" />    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_twitter_image"      circle:name="@string/twitter"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/icon_twitter" />    <com.szugyi.circlemenu.view.CircleImageView      android:id="@+id/main_wordpress_image"      circle:name="@string/wordpress"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:src="@drawable/icon_wordpress" />  </com.szugyi.circlemenu.view.CircleLayout>  <TextView    android:id="@+id/main_selected_textView"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignParentBottom="true"    android:layout_centerHorizontal="true"    android:layout_marginBottom="50dp"    android:textAppearance="?android:attr/textAppearanceLarge" /></RelativeLayout>