情景模式是我们日常生活中使用和最多的软件,用户可以方便的对自己的情景模式进行修改。用户可以在不同情景模式下,进行切换。
1.切换功能的主要代码MainActivity.java
public class MainActivity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
initial();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void initial(){
TabHost tabhost=getTabHost();
LayoutInflater inflater=LayoutInflater.from(this);
inflater.inflate(R.layout.activity_main,tabhost.getTabContentView(), true);
Intent intent1=new Intent();
intent1.setClass(this, BaseActivity.class);
TabHost.TabSpec tab1=tabhost.newTabSpec("tab1");
tab1.setIndicator("普通情景模式",getResources().getDrawable(R.drawable.icon)).setContent(intent1);
Intent intent2=new Intent();
intent2.setClass(this,TimeActivity.class);
TabHost.TabSpec tab2=tabhost.newTabSpec("tab2");
tab2.setIndicator("定时情景模式",getResources().getDrawable(R.drawable.timeprofile)).setContent(intent2);
Intent intent3=new Intent();
intent3.setClass(this,SelfActivity.class);
TabHost.TabSpec tab3=tabhost.newTabSpec("tab3");
tab3.setIndicator("自定义情景模式",getResources().getDrawable(R.drawable.mute)).setContent(intent3);
tabhost.addTab(tab1);
tabhost.addTab(tab2);
tabhost.addTab(tab3);
}
}
2..普通情景模式
布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/RadioGroup01"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerInParent="true">
<RadioButton
android:text="@string/ring1"
android:id="@+id/ring_and_vibrate01"
android:layout_width="fill_parent"
android:textSize="24sp"
android:paddingLeft="50sp"/>
<RadioButton
android:text="@string/ring2"
android:id="@+id/ring01"
android:layout_width="fill_parent"
android:textSize="24sp"
android:paddingLeft="50sp"
android:paddingRight="50sp"/>
<RadioButton
android:text="@string/ring3"
android:id="@+id/vibrate01"
android:layout_width="fill_parent"
android:textSize="24sp"
android:paddingLeft="50sp"
android:paddingRight="50sp"/>
<RadioButton
android:text="@string/ring4"
android:id="@+id/silent01"
android:layout_width="fill_parent"
android:textSize="24sp"
android:paddingLeft="50sp"
android:paddingRight="50sp"/>
</RadioGroup>
</LinearLayout>
2.定时情景模式:
主要布局代码(可以在环境中拖动控件的哦(*^__^*) 嘻嘻……):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg"
android:orientation="vertical"
android:padding="12sp" >
<TextView
android:id="@+id/help"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/time"
android:textSize="20px"
android:textStyle="bold" >
</TextView>
<TimePicker
android:id="@+id/timePkr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/help" >
</TimePicker>
<RadioGroup
android:id="@+id/RadioGroup02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/timePkr"
android:layout_centerInParent="true"
android:orientation="vertical" >
<RadioButton
android:id="@+id/ring_and_vibrate02"
android:layout_width="fill_parent"
android:paddingLeft="50sp"
android:text="@string/ring1"
android:textSize="24sp" />
<RadioButton
android:id="@+id/ring02"
android:layout_width="fill_parent"
android:paddingLeft="50sp"
android:paddingRight="50sp"
android:text="@string/ring2"
android:textSize="24sp" />
<RadioButton
android:id="@+id/vibrate02"
android:layout_width="fill_parent"
android:paddingLeft="50sp"
android:paddingRight="50sp"
android:text="@string/ring3"
android:textSize="24sp" />
<RadioButton
android:id="@+id/silent02"
android:layout_width="fill_parent"
android:paddingLeft="50sp"
android:paddingRight="50sp"
android:text="@string/ring4"
android:textSize="24sp" />
</RadioGroup>
</RelativeLayout>
3.自定义情景模式:
主要布局代码:
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/AbsoluteLayout03"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg"
>
<TextView
android:id="@+id/myText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ground"
android:textSize="16sp"
android:layout_x="20dp"
android:layout_y="42dp"
>
</TextView>
<ImageView
android:id="@+id/myImage"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_x="110dp"
android:layout_y="32dp"
android:src="@drawable/icon"
>
</ImageView>
<TextView
android:id="@+id/myText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sound"
android:textSize="16sp"
android:layout_x="20dp"
android:layout_y="102dp"
>
</TextView>
<ProgressBar
android:id="@+id/myProgress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="160dip"
android:layout_height="wrap_content"
android:max="7"
android:progress="5"
android:layout_x="110dp"
android:layout_y="102dp"
>
</ProgressBar>
<ImageButton
android:id="@+id/downButton"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="50dp"
android:layout_y="162dp"
android:src="@drawable/down"
>
</ImageButton>
<ImageButton
android:id="@+id/upButton"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="150dp"
android:layout_y="162dp"
android:src="@drawable/up"
>
</ImageButton>
<ImageButton
android:id="@+id/normalButton"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_x="50dp"
android:layout_y="272dp"
android:src="@drawable/icon"
>
</ImageButton>
<ImageButton
android:id="@+id/muteButton"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_x="120dp"
android:layout_y="272dp"
android:src="@drawable/mute"
>
</ImageButton>
<ImageButton
android:id="@+id/vibrateButton"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_x="190dp"
android:layout_y="272dp"
android:src="@drawable/vibrate"
>
</ImageButton>
</AbsoluteLayout>