package com.example.expression; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager.LayoutParams; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.GridView; import android.widget.TextView; import com.example.SmileyParser; public class ExpressionActivity extends Activity { private TextView tv; private EditText et; private Button bt; private Button bt2; String cacheSelectedExpression;// 模拟选择的表情名字 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expression); tv = (TextView) findViewById(R.id.text); et = (EditText) findViewById(R.id.edit); bt = (Button) findViewById(R.id.button); bt2 = (Button) findViewById(R.id.button2); final SelectExpressionDialog sed = new SelectExpressionDialog(ExpressionActivity.this,R.style.ExpressionDialog); sed.setCanceledOnTouchOutside(true); Window window = sed.getWindow(); LayoutParams lp = window.getAttributes(); lp.y = Gravity.BOTTOM; window.setAttributes(lp); final String[] stringarray = getResources().getStringArray(SmileyParser.DEFAULT_SMILEY_TEXTS); final int[] expressions = SmileyParser.DEFAULT_SMILEY_RES_IDS; bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { sed.show(); ExpressionChooserAdapter eca = new ExpressionChooserAdapter(ExpressionActivity.this, expressions, stringarray); GridView gv = (GridView) sed.findViewById(R.id.expressions_chooser); gv.setAdapter(eca); gv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> apv, View v, int position, long id) { GridView gv = (GridView) apv; String str = (String) gv.getItemAtPosition(position); SmileyParser smileparser = new SmileyParser(ExpressionActivity.this); et.setText(smileparser.replace(et.getText().append(str))); et.setSelection(et.getText().length()); cacheSelectedExpression = et.getText().toString(); sed.dismiss(); } }); } }); bt2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { tv.setText(cacheSelectedExpression); } }); } }