Android笔记:代码编写布局

自己在shareSdk原有布局中添加一个加载过程的布局:

十多年的益阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整益阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“益阳网站设计”,“益阳网站推广”以来,每个客户项目都认真落实执行。

/** 新增:分享发送进度 **/
private void setLoadingUI()
{
    // 页面父布局
    pageLayout = new RelativeLayout(getContext());
    pageLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
               
    // 填充编辑页布局
    RelativeLayout.LayoutParams llPageLp = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    llPage.setLayoutParams(llPageLp);
    pageLayout.addView(llPage);
               
    // 加载过程布局
    loadReLayout = new RelativeLayout(getContext());
    loadReLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    loadReLayout.setClickable(true);
    loadReLayout.setBackgroundColor(0x50000000);
    loadReLayout.setVisibility(View.GONE);
    pageLayout.addView(loadReLayout);
               
    // 加载过程中间布局
    LinearLayout loadCenterLayout = new LinearLayout(getContext());
    RelativeLayout.LayoutParams lcLp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    lcLp.addRule(RelativeLayout.CENTER_IN_PARENT);
    loadCenterLayout.setPadding(8, 8, 8, 8);
    loadCenterLayout.setBackgroundColor(0xa5000000);
    loadCenterLayout.setOrientation(LinearLayout.HORIZONTAL);
    loadReLayout.addView(loadCenterLayout, lcLp);
               
    // 进度条和加载中说明
    ProgressBar pb = new ProgressBar(getContext());
    pb.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    loadCenterLayout.addView(pb);
               
    TextView loadText = new TextView(getContext());
    LayoutParams ltlp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    ltlp.setMargins(8, 0, 0, 0);
    ltlp.gravity = Gravity.CENTER_VERTICAL;
    loadText.setLayoutParams(ltlp);
    loadText.setText("正在转发分享...");
    loadText.setTextSize(16);
    loadText.setTextColor(Color.WHITE);
    loadCenterLayout.addView(loadText);
}

原布局部分代码:

private void initPageView()
{
    // 编辑页父布局
    llPage = new LinearLayout(getContext());
    llPage.setBackgroundColor(0xff323232);
    llPage.setOrientation(LinearLayout.VERTICAL);
                   
    // 新增:分享发送过程
    setLoadingUI();
                   
    // 标题栏
    llTitle = new TitleLayout(getContext());
    llTitle.setBackgroundResource(R.drawable.title_back);
    llTitle.getBtnBack().setOnClickListener(this);
    llTitle.getTvTitle().setText(R.string.multi_share);
    llTitle.getBtnRight().setVisibility(View.VISIBLE);
    llTitle.getBtnRight().setText(R.string.share);
    llTitle.getBtnRight().setOnClickListener(this);
    llTitle.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    llPage.addView(llTitle);
                   
    FrameLayout flPage = new FrameLayout(getContext());
    LinearLayout.LayoutParams lpFl = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    lpFl.weight = 1;
    flPage.setLayoutParams(lpFl);
    llPage.addView(flPage);
                   
    // 页面主体
    LinearLayout llBody = new LinearLayout(getContext());
    llBody.setOrientation(LinearLayout.VERTICAL);
    FrameLayout.LayoutParams lpLl = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    lpLl.gravity = Gravity.LEFT | Gravity.TOP;
    llBody.setLayoutParams(lpLl);
    flPage.addView(llBody);
                   
    // 别针图片
    ivPin = new ImageView(getContext());
    ivPin.setImageResource(R.drawable.pin);
    int dp_80 = cn.sharesdk.framework.utils.R.dipToPx(getContext(), 80);
    int dp_36 = cn.sharesdk.framework.utils.R.dipToPx(getContext(), 36);
    FrameLayout.LayoutParams lpPin = new FrameLayout.LayoutParams(dp_80, dp_36);
    lpPin.topMargin = cn.sharesdk.framework.utils.R.dipToPx(getContext(), 6);
    lpPin.gravity = Gravity.RIGHT | Gravity.TOP;
    ivPin.setLayoutParams(lpPin);
    flPage.addView(ivPin);
                   
    ImageView ivShadow = new ImageView(getContext());
    ivShadow.setBackgroundResource(R.drawable.title_shadow);
    ivShadow.setImageResource(R.drawable.title_shadow);
    FrameLayout.LayoutParams lpSd = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    ivShadow.setLayoutParams(lpSd);
    flPage.addView(ivShadow);
                   
    LinearLayout llInput = new LinearLayout(getContext());
    llInput.setMinimumHeight(cn.sharesdk.framework.utils.R.dipToPx(getContext(), 150));
    llInput.setBackgroundResource(R.drawable.edittext_back);
    LinearLayout.LayoutParams lpInput = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    int dp_3 = cn.sharesdk.framework.utils.R.dipToPx(getContext(), 3);
    lpInput.setMargins(dp_3, dp_3, dp_3, dp_3);
    lpInput.weight = 1;
    llInput.setLayoutParams(lpInput);
    llBody.addView(llInput);
                   
                   
    //...
}

效果图:

Android笔记:代码编写布局


网页标题:Android笔记:代码编写布局
文章位置:http://csdahua.cn/article/jojheh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流