主要是实现类似红包的界面。
核心代码:
在values中styles中写入以下代码
<style name="redEnvelopeDialog"> <!--设置dialog的背景--> <item name="android:windowBackground">@android:color/transparent </item> <!--设置Dialog的windowFrame框为无--> <item name="android:windowFrame">@null</item> <!--设置无标题--> <item name="android:windowNoTitle">true</item> <!--是否浮现在activity之上--> <item name="android:windowIsFloating">true</item> <!--是否半透明--> <item name="android:windowIsTranslucent">true</item> <!--设置窗口内容不覆盖--> <item name="android:windowContentOverlay">@null </item> <!--设置动画,在这里使用让它继承系统的Animation.Dialog--> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog </item> <!--背景是否模糊显示--> <item name="android:backgroundDimEnabled">true</item> </style>
再则在AndroidManifest 注册,将样式写入。
<activity android:name=".pages.main.conversation.wallet.RedEnvelopeDialogActivity" android:theme="@style/redEnvelopeDialog" /><!--红包Dialog-->
public class RedEnvelopeDialogActivity extends Activity implements View.OnClickListener { private ImageView mIvOpenRedEnvlop; private ImageView mIvColseRed; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dialog_red_envelope); WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); WindowManager.LayoutParams params = getWindow().getAttributes(); params.width = (int) (display.getWidth() * 0.8*0.8); getWindow().setAttributes(params); initView(); } //初始化 private void initView() { ImageView mIvOpenRedEnvlop = (ImageView) findViewById(R.id.iv_open_red_envelope); mIvColseRed = (ImageView) findViewById(R.id.iv_close_red_envelope); mIvColseRed.setOnClickListener(this); mIvOpenRedEnvlop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //跳转到红包领取界面 startActivity(new Intent(RedEnvelopeDialogActivity.this,RedEnvelopeDetailsActivity.class)); } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_close_red_envelope: finish(); break; } } }
Xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/shape_red_envelope_dialog_bg" android:orientation="vertical"> <ImageView android:id="@+id/iv_close_red_envelope" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginRight="22dp" android:layout_marginTop="20dp" android:src="@drawable/red_envelope_close" /> <ImageView android:id="@+id/iv_send_red_envelope_ic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="10dp" android:src="@drawable/ic_launcher_wire_dev" /> <TextView android:id="@+id/tv_send_red_envelope_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="10dp" android:text="AK47" android:textColor="@color/red_envelope_text" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="10dp" android:text="给你发了一个红包" android:textColor="@color/red_envelope_text_a" android:textSize="14sp" /> <TextView android:id="@+id/tv_red_envelope_note" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="10dp" android:text="恭喜发财,大鸡大利" android:textColor="@color/red_envelope_text_b" android:textSize="22sp" /> <ImageView android:id="@+id/iv_open_red_envelope" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" android:layout_marginTop="20dp" android:scaleType="centerCrop" android:src="@drawable/open_red_envelope" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="30dp" android:layout_marginTop="30dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="比特币(" android:textColor="@color/red_envelope_text_a" android:textSize="16sp" /> <TextView android:id="@+id/tv_red_envelope_tyep" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="BTC" android:textColor="@color/red_envelope_text_a" android:textSize="16sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=")红包" android:textColor="@color/red_envelope_text_a" android:textSize="16sp" /> </LinearLayout> </LinearLayout>