只是做做笔记,以后忘了容易找到,别的没什么
package com.tenghu.menu;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
//创建图片数组
private int[] images={R.drawable.one,R.drawable.two,R.drawable.three};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=(Button) this.findViewById(R.id.menu);
final TextView tv=(TextView) this.findViewById(R.id.tv_info);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(MainActivity.this)
.setTitle("图片菜单")
.setIcon(R.drawable.one)
.setAdapter(new MyAdapter(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//点击的菜单
String text=MainActivity.this.getResources().getStringArray(R.array.array)[which];
tv.setText(text);
}
}).show();
}
});
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return images[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//创建TextView
TextView tv=new TextView(MainActivity.this);
//获取资源信息
String text=MainActivity.this.getResources().getStringArray(R.array.array)[position];
//设置TextView文本
tv.setText(text);
//设置字体大小
tv.setTextSize(20);
AbsListView.LayoutParams layout=new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
//设置文本宽高
tv.setLayoutParams(layout);
//设置搞定
tv.setMinHeight(40);
//设置垂直居中
tv.setGravity(Gravity.CENTER_VERTICAL);
//设置文本颜色
tv.setTextColor(getResources().getColor(android.R.color.holo_orange_dark));
//设置文本的边距
tv.setPadding(10, 10, 10, 10);
//设置图片在文本的左边
tv.setCompoundDrawablesWithIntrinsicBounds(images[position], 0, 0, 0);
//设置图片与文本的距离
tv.setCompoundDrawablePadding(10);
return tv;
}
}
}