package com.flyco.dialogsamples.ui; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.DisplayMetrics; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; public class PopupHomeActivity extends AppCompatActivity { private Context mContext = this; private final String[] mItems = {"Custom Popup", "BubblePopup"}; private final Class<?>[] mClazzs = {CustomPopupActivity.class, BubblePopupActivity.class}; private DisplayMetrics mDisplayMetrics; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDisplayMetrics = getResources().getDisplayMetrics(); ListView lv = new ListView(mContext); lv.setCacheColorHint(Color.TRANSPARENT); lv.setBackgroundColor(Color.WHITE); lv.setFadingEdgeLength(0); lv.setAdapter(new SimpleHomeAdapter()); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(mContext, mClazzs[position]); startActivity(intent); } }); setContentView(lv); } class SimpleHomeAdapter extends BaseAdapter { @Override public int getCount() { return mItems.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { int padding = (int) (mDisplayMetrics.density * 10); TextView tv = new TextView(mContext); tv.setText(mItems[position]); tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); tv.setTextColor(Color.parseColor("#468ED0")); // tv.setGravity(Gravity.CENTER); tv.setPadding(padding, padding, padding, padding); AbsListView.LayoutParams lp = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.WRAP_CONTENT); tv.setLayoutParams(lp); return tv; } } }