当前位置: 首页 > wzjs >正文

网站怎么做引流呢交换链接案例

网站怎么做引流呢,交换链接案例,韩国 网站 域名,单位网站备案流程文章目录 1. 实现分析1. 继承 Dialog 并实现点击监听2. 视图初始化3. 窗口设置4. 点击处理5. 触摸外部关闭 2. 代码实现过程3. 如何使用?4. 效果图演示 1. 实现分析 1. 继承 Dialog 并实现点击监听 继承 Dialog 类并实现 View.OnClickListener使用自定义样式 R.st…

文章目录

    • 1. 实现分析
        • 1. 继承 Dialog 并实现点击监听
        • 2. 视图初始化
        • 3. 窗口设置
        • 4. 点击处理
        • 5. 触摸外部关闭
    • 2. 代码实现过程
    • 3. 如何使用?
    • 4. 效果图演示

1. 实现分析

1. 继承 Dialog 并实现点击监听
  • 继承 Dialog 类并实现 View.OnClickListener
  • 使用自定义样式 R.style.option_dialog
2. 视图初始化
  • 在构造函数中加载布局 R.layout.dialog_from_custom
  • 初始化按钮视图并设置点击监听
3. 窗口设置
  • onCreate 中设置对话框显示在底部
  • 设置对话框宽度为屏幕宽度
4. 点击处理
  • 处理三个按钮的点击事件
  • 通过回调接口 OnDialogClickListener 通知外部点击事件
5. 触摸外部关闭
  • 设置窗口装饰视图的触摸监听,点击外部时关闭对话框

2. 代码实现过程

  1. 写一个DownDialog extends Dialog
public class DownDialog extends Dialog implements View.OnClickListener {private TextView btn_take_photo, btn_select_photo, btn_cancel;//构造方法里面设置主题 R.style.option_dialogpublic DownDialog(Context context) {this(context, R.style.option_dialog);}public DownDialog(Context context, int themeResId) {super(context, themeResId);//加载布局文件View view = LayoutInflater.from(context).inflate(R.layout.dialog_from_custom, null);initView(view);initListener();setContentView(view);getWindow().getDecorView().setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {dismiss();return true;}});}private void initListener() {btn_cancel.setOnClickListener(this);btn_take_photo.setOnClickListener(this);btn_select_photo.setOnClickListener(this);}private void initView(View view) {btn_take_photo = view.findViewById(R.id.btn_take_photo);btn_select_photo = view.findViewById(R.id.btn_select_photo);btn_cancel = view.findViewById(R.id.btn_cancel);}@SuppressWarnings("deprecation")@Overrideprotected void onCreate(Bundle bundle) {super.onCreate(bundle);getWindow().setGravity(Gravity.BOTTOM);WindowManager m = getWindow().getWindowManager();Display d = m.getDefaultDisplay();WindowManager.LayoutParams p = getWindow().getAttributes();p.width = d.getWidth();getWindow().setAttributes(p);}@Overridepublic void onClick(View v) {if (v.getId() == R.id.btn_take_photo) {if (onDialogClickListener != null) {onDialogClickListener.onDialogClick("拍照", 1);}} else if (v.getId() == R.id.btn_select_photo) {if (onDialogClickListener != null) {onDialogClickListener.onDialogClick("相册", 2);}} else {if (onDialogClickListener != null) {onDialogClickListener.onDialogClick("取消", 3);}}dismiss();}//回调public interface OnDialogClickListener {void onDialogClick(String msg, int type);}private OnDialogClickListener onDialogClickListener;public void setOnDialogClickListener(OnDialogClickListener onDialogClickListener) {this.onDialogClickListener = onDialogClickListener;}}
  1. 在res/values/themes.xml 定义 样式主题option_dialog
    <style name="option_dialog" parent="@style/dialog_common"><item name="android:windowAnimationStyle">@style/AnimBottom</item><item name="android:windowBackground">@color/me_background_color</item></style><style name="dialog_common" parent="Base.AlertDialog.AppCompat.Light"><item name="android:windowBackground">@color/me_background_color</item></style><style name="AnimBottom" parent="@android:style/Animation"><item name="android:windowEnterAnimation">@anim/push_bottom_in</item><item name="android:windowExitAnimation">@anim/push_bottom_out</item></style>
  1. 在res/values/colors.xml中 定义me_background_color颜色
     <color name="base_start_color_gray">#e8e9eb</color><color name="me_background_color">#b0000000</color><color name="base_start_color_pressed">#fffcfcfc</color><color name="base_end_color_pressed">#ffd7d7d7</color><color name="base_start_color_default">#FFFFFF</color><color name="base_end_color_default">#FFFFFF</color>
  1. 在res/anim 中定义push_bottom_inpush_bottom_out动画 (如果没有anim ,先创建)

push_bottom_in.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- 上下滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="200"android:fromYDelta="50%p"android:toYDelta="0" /></set>

push_bottom_out.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- 上下滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" ><translateandroid:duration="200"android:fromYDelta="0"android:toYDelta="50%p" /></set>
  1. dialog_from_custom.xml 布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/pop_layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_marginLeft="15dp"android:layout_marginRight="15dp"android:gravity="center_horizontal"android:orientation="vertical"><TextViewandroid:id="@+id/btn_take_photo"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:gravity="center"android:background="@drawable/background_view_rounded_top"android:paddingBottom="8dp"android:paddingTop="8dp"android:text="拍照"android:textColor="#282828"android:textSize="16sp" /><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="#dddddd" /><TextViewandroid:id="@+id/btn_select_photo"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/background_view_rounded_bottom"android:paddingBottom="8dp"android:paddingTop="8dp"android:text="相册选取"android:gravity="center"android:textColor="#282828"android:textSize="16sp" /><TextViewandroid:id="@+id/btn_cancel"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dip"android:layout_marginTop="8dip"android:background="@drawable/rect_gray"android:paddingBottom="8dp"android:gravity="center"android:paddingTop="8dp"android:text="取消"android:textColor="#282828"android:textSize="16sp" /></LinearLayout>
</RelativeLayout>
  1. 在res/drawable下分别创建background_view_rounded_top.xmlbackground_view_rounded_bottom.xmlrect_gray.xml

background_view_rounded_top.xml

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"android:insetLeft="1.0px"android:insetRight="1.0px"><selector><item android:state_pressed="true"><shape><gradientandroid:angle="270.0"android:endColor="@color/base_end_color_pressed"android:startColor="@color/base_start_color_pressed" /><cornersandroid:topLeftRadius="6dp"android:topRightRadius="6dp" /></shape></item><item><shape><gradientandroid:angle="270.0"android:endColor="@color/base_end_color_default"android:startColor="@color/base_start_color_default" /><cornersandroid:topLeftRadius="6dip"android:topRightRadius="6dip" /></shape></item></selector></inset>

background_view_rounded_bottom.xml

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"android:insetLeft="1.0px"android:insetRight="1.0px"><selector><item android:state_pressed="true"><shape><gradientandroid:angle="270.0"android:endColor="@color/base_end_color_pressed"android:startColor="@color/base_start_color_pressed" /><cornersandroid:bottomLeftRadius="6dip"android:bottomRightRadius="6dip"/></shape></item><item><shape><gradientandroid:angle="270.0"android:endColor="@color/base_end_color_default"android:startColor="@color/base_start_color_default" /><cornersandroid:bottomLeftRadius="6dip"android:bottomRightRadius="6dip"/></shape></item></selector>
</inset>

rect_gray.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><!-- 填充颜色 --><solid android:color="#FFFFFF"/><!-- 线的宽度,颜色灰色 --><!--<stroke--><!--android:width="1dp"--><!--android:color="#fffcfcfc"/>--><!-- 矩形的圆角半径 --><corners android:radius="6dp" />
</shape>

3. 如何使用?

DownDialog downDialog = new DownDialog(MainActivity.this);
downDialog.setOnDialogClickListener(new DownDialog.OnDialogClickListener() {@Overridepublic void onDialogClick(String msg, int type) {switch (type) {case 1: // 拍照Toast.makeText(MainActivity.this, "点击了拍照", Toast.LENGTH_SHORT).show();break;case 2: // 相册Toast.makeText(MainActivity.this, "点击了相册", Toast.LENGTH_SHORT).show();break;case 3: // 取消Toast.makeText(MainActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();break;}}
});
downDialog.show();

4. 效果图演示

在这里插入图片描述

http://www.dtcms.com/wzjs/80259.html

相关文章:

  • 做外贸网站一定要会英语吗seo系统培训班
  • 银行门户网站建设pptwindows优化大师官方免费下载
  • wordpress菜单实现下拉搜索引擎外部链接优化
  • wordpress用户名或密码错误宁波seo整站优化软件
  • 小当网 绵阳网站建设苏州百度推广开户
  • 泗水县城乡建设局网站百度指数官网移动版
  • 17网站一起做网店普宁轻纺城温馨百度经验发布平台
  • 专门做软陶的网站桂林市天气预报
  • 网上做调查问卷的网站app营销模式有哪些
  • 网站截图怎么做百度精简版网页入口
  • 网站建设在会计里算什么资产it培训机构排名
  • 扬州专业外贸网站建设推广安卓手机优化
  • 网站开发和游戏开发搜索引擎最佳化
  • 网站建设施工图片百度推广怎么赚钱
  • 中国建盏大师排名2021西安网站优化
  • 网站建设的步骤教程郑州seo全网营销
  • 企业网站建设技术社群营销的十大案例
  • bmob后端云网站开发sem是什么基团
  • 日本 女做视频网站百度快照推广有效果吗
  • cc后缀网站seo优化教程视频
  • 效果好的郑州网站建设预防电信网络诈骗
  • 成都创新互联网站建设杭州网站优化多少钱
  • 三级域名大全百度竞价和优化的区别
  • 内存128mb做网站够吗seo网站优化策划书
  • 公益环保网站建设百度推广怎么找客户
  • 阿里巴巴做国际网站多少钱搜索引擎优化方法案例
  • wordpress 自动webp深圳seo优化公司哪家好
  • 如何做淘宝宜家代购网站公司网站制作公司
  • 哪家网站雅虎全球购做的好b2b电商平台
  • 公司起名字大全免费三字成都关键词优化报价