【阿炬Android笔记】01、调用VitamioBundle播放窗口

1、调用VitamioBundle播放窗口

                
                Intent intent = new Intent(getApplicationContext(), VideoActivity.class);
                intent.setData(Uri.parse(path));
                // intent.putExtra("path", f.path);
                intent.putExtra("displayName", "企建教育");
                startActivity(intent);
                
                

 2、AndBase对话框

                AbDialogUtil.showAlertDialog(MainActivity.this, "这里是标题",
                        "这里写一些描述", new AbDialogOnClickListener() {

                            @Override
                            public void onPositiveClick() {
                                // TODO Auto-generated method stub

                            }

                            @Override
                            public void onNegativeClick() {
                                // TODO Auto-generated method stub

                            }
                        });

 3、AndBase框架异步获取json数据,并解析的过程

        mAbHttpUtil = AbHttpUtil.getInstance(this);
        mAbHttpUtil.setTimeout(10000);
        String urlString = "http://ke.cpmqa.com/";
        mAbHttpUtil.get(urlString, new AbStringHttpResponseListener() {

            @Override
            public void onSuccess(int statusCode, String content) {
                Log.d(TAG, "onSuccess");

                try {
                    JSONObject jsonObject = new JSONObject(content);

                    int total = jsonObject.getInt("total");
                    Boolean success = jsonObject.getBoolean("success");
                    Log.d(TAG, "total:" + total + " | success:" + success);

                    JSONArray jsonArray = jsonObject.getJSONArray("rows");// 里面有一个数组数据,可以用getJSONArray获取数组
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject item = jsonArray.getJSONObject(i); // 得到每个对象

                        TttVideo t = new TttVideo();
                        t.Id = item.getInt("Id");
                        t.VideoName = item.getString("VideoName");
                        t.Flag = item.getInt("Flag");
                        t.VideoUrl = item.getString("VideoUrl");
                        t.OrderFlag = item.getInt("OrderFlag");

                        list.add(t);

                    }

                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }

            // 失败,调用
            @Override
            public void onFailure(int statusCode, String content,
                    Throwable error) {

                Log.d(TAG, "onFailure");
                AbToastUtil.showToast(MainActivity.this, error.getMessage());
            }

            // 开始执行前
            @Override
            public void onStart() {
                Log.d(TAG, "onStart");
                // 显示进度框
                AbDialogUtil
                        .showProgressDialog(MainActivity.this, 0, "正在查询...");
            }

            // 完成后调用,失败,成功
            @Override
            public void onFinish() {
                Log.d(TAG, "onFinish");
                // 移除进度框
                AbDialogUtil.removeDialog(MainActivity.this);
            };

        });

4、动态添加控件,并设置控件属性

                TableLayout table1 = (TableLayout) findViewById(R.id.table1);

                if (list != null) {
                    for (TttVideo t : list) {

                        TextView tv = new TextView(MainActivity.this);
                        tv.setId(t.Id);
                        tv.setText(Html.fromHtml(t.VideoName));

                        TableRow.LayoutParams lp = new TableRow.LayoutParams(
                                TableRow.LayoutParams.MATCH_PARENT,
                                TableRow.LayoutParams.WRAP_CONTENT);

                        if (t.Flag == 0) {
                            lp.setMargins(
                                    DensityUtil.dip2px(MainActivity.this, 20),
                                    DensityUtil.dip2px(MainActivity.this, 20),
                                    DensityUtil.dip2px(MainActivity.this, 15),
                                    DensityUtil.dip2px(MainActivity.this, 20));
                            tv.setTextColor(Color.BLACK);
                        } else {
                            lp.setMargins(
                                    DensityUtil.dip2px(MainActivity.this, 40),
                                    DensityUtil.dip2px(MainActivity.this, 15),
                                    DensityUtil.dip2px(MainActivity.this, 15),
                                    DensityUtil.dip2px(MainActivity.this, 15));

                            if (MediaUtils.isVideo(t.VideoUrl)) {
                                tv.setTextColor(Color.rgb(53, 53, 53));
                                
                            }
                            
                            tv.setOnClickListener(MainActivity.this);

                        }

                        TableRow tr = new TableRow(MainActivity.this);
                        tr.addView(tv, lp);

                        if (t.Flag == 0) {

                        } else {
                            tr.setBackgroundColor(Color.WHITE);
                        }

                        TableLayout.LayoutParams tablelp = new TableLayout.LayoutParams(
                                TableLayout.LayoutParams.MATCH_PARENT,
                                TableLayout.LayoutParams.WRAP_CONTENT);

                        tablelp.setMargins(0, 0, 0,
                                DensityUtil.dip2px(MainActivity.this, 1));

                        table1.addView(tr, tablelp);

                    }

                }

5、代码中的单位转换类:

public class DensityUtil {
    /** 
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 
     */  
    public static int dip2px(Context context, float dpValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
     */  
    public static int px2dip(Context context, float pxValue) {  
        final float scale = context.getResources().getDisplayMetrics().density;  
        return (int) (pxValue / scale + 0.5f);  
    }  
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货

浅谈TabLayout(ViewPager+Tab联动)

46011
来自专栏向治洪

android仿ios开关按钮

前一段时间在做项目的时候遇到了一个问题,美工在设计的时候设计的是一个iPhone中的开关,但是都知道Android中的Switch开关和IOS中的不同,这样就...

27010
来自专栏编程之路

羊皮书APP(Android版)开发系列(十五)Android 循环滚动,自动轮播广告展示

2945
来自专栏向治洪

android沉浸式状态栏的实现

在style.xml中添加 <style name="Theme.Timetodo" parent="@android:style/Theme.Holo.L...

2587
来自专栏Android干货园

Android 获取屏幕高宽度,密度,通知栏高度,截图等常用方法

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49...

3991
来自专栏Android Note

Android - 圆形 Button 与倒计时控件

1825
来自专栏编程之路

羊皮书APP(Android版)开发系列(十七)Android 底部菜单栏实现

1672
来自专栏Android开发指南

3.PopupWindow 、拍照、裁剪

3279
来自专栏水击三千

Android学习Tabhost、gallery、listview、imageswitcher

Tabhost控件又称分页控件,在很多的开发语言中都存在。它可以拥有多个标签页,每个标签页可以拥有不同的内容。android中,一个标签页可以放 一个view或...

2786
来自专栏向治洪

viewgroup实现item拖动效果

网络上关于GridView可拖动的例子已经不少了,包括带动画不带动画的都有一堆,但几乎都是通过继承Android原生控件GridView来扩展的,当然这种实现方...

2486

扫码关注云+社区

领取腾讯云代金券