Example:
MainActivity.java
package com.example.androidfront; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.EditText; import android.widget.Spinner; import android.graphics.Typeface; import android.os.Bundle; public class MainActivity extends ActionBarActivity { String typeFaceName[] = { "sans-serif", "sans-serif-light", "sans-serif-condensed", "sans-serif-thin", "sans-serif-medium"}; CheckBox checkBold, checkItalic; Spinner selTypeFace; EditText editArea; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editArea = (EditText)findViewById(R.id.editarea); checkBold = (CheckBox)findViewById(R.id.boldsel); checkBold.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { updateFonts(); }}); checkItalic = (CheckBox)findViewById(R.id.italicsel); checkItalic.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { updateFonts(); }}); selTypeFace = (Spinner)findViewById(R.id.typefacesel); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, typeFaceName); adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); selTypeFace.setAdapter(adapter); selTypeFace.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { updateFonts(); } @Override public void onNothingSelected(AdapterView<?> parent) {}}); } private void updateFonts(){ int tfSel = selTypeFace.getSelectedItemPosition(); String selTypeFaceName = typeFaceName[tfSel]; int style; if(!checkBold.isChecked() && !checkItalic.isChecked()){ style = Typeface.NORMAL; }else if(checkBold.isChecked() && !checkItalic.isChecked()){ style = Typeface.BOLD; }else if(!checkBold.isChecked() && checkItalic.isChecked()){ style = Typeface.ITALIC; }else{ style = Typeface.BOLD_ITALIC; } Typeface tf = Typeface.create(selTypeFaceName, style); editArea.setTypeface(tf); } }
activity_main.xml
<LinearLayout 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.androidfront.MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="android-coding.blogspot.com" android:textSize="24dp" android:textStyle="bold" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" > <TextView android:fontFamily="sans-serif" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/test"/> <TextView android:fontFamily="sans-serif-light" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/test"/> <TextView android:fontFamily="sans-serif-condensed" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/test"/> <TextView android:fontFamily="sans-serif-thin" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/test"/> <TextView android:fontFamily="sans-serif-medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/test"/> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" > <Spinner android:id="@+id/typefacesel" android:layout_width="match_parent" android:layout_height="wrap_content"/> <CheckBox android:id="@+id/boldsel" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="BOLD"/> <CheckBox android:id="@+id/italicsel" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ITALIC"/> <EditText android:id="@+id/editarea" android:layout_width="match_parent" android:layout_height="match_parent" android:singleLine="false" android:gravity="top" android:background="#E0E0E0"/> </LinearLayout> </LinearLayout> </LinearLayout>
string resources of "test" is needed, read HERE.
No comments:
Post a Comment