游戏王中国 2022-05-07 20:53 采纳率: 53.3%
浏览 10
已结题

TableLayout添加按钮控件文本多行数据位置出现偏移需要设置哪些差数

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
 <TableLayout
                   android:layout_width="fill_parent"
                   android:layout_height="fill_parent"
                     android:stretchColumns="*"
                   android:layout_columnSpan="4"
                   android:id="@+id/TableLayout1">
                 </TableLayout>

 tableRow.AddView(_dynaControl.AddButton(this, string.Format("{0}  ", "编辑"), Android.Graphics.Color.White, "编辑"+ mo.id, Button_修改_Click));
 tableRow.AddView(_dynaControl.AddButton(this, string.Format("{0}  ", "删除"), Android.Graphics.Color.White, "删除"+ mo.id, Button_删除_Click));
 tableRow.AddView(_dynaControl.AddButton(this, string.Format("{0}  ", mo.本商品备注), Android.Graphics.Color.White, "本商品备注" + mo.id, null));


    public Button AddButton(Context context, string text,Android.Graphics.Color 背景色 , Java.Lang.Object tag, EventHandler clickAction = null)
    {

        var btn = new Button(context);
        btn.Tag = tag;
        btn.SetBackgroundColor(背景色);
        btn.SetText(text, TextView.BufferType.Normal);
        btn.SetPadding(0, 0, 0, 0);
        //btn.SetHeight(35);
        btn.SetWidth(80);
        int width = 0;
        if (text!=null)
        {
            if (text.Length==0)
            {
                width = 600;
            }
            else
            {
                width += text.Length * 100;
            }
        }
        Drawable dr = ContextCompat.GetDrawable(context, Resource.Drawable.Biankuang12);
        Bitmap bitmap = ((BitmapDrawable)dr).Bitmap;
        BitmapDrawable mobile_drawable = new BitmapDrawable(Android.Content.Res.Resources.System, Bitmap.CreateScaledBitmap(bitmap, 2, 200, true));

        Drawable dr2 = ContextCompat.GetDrawable(context, Resource.Drawable.Biankuang);
        Bitmap bitmap2 = ((BitmapDrawable)dr2).Bitmap;
        BitmapDrawable mobile_drawable2 = new BitmapDrawable(Android.Content.Res.Resources.System, Bitmap.CreateScaledBitmap(bitmap2, width, 2, true));

        btn.SetCompoundDrawablesWithIntrinsicBounds(mobile_drawable, mobile_drawable2, mobile_drawable, mobile_drawable2);

        if (clickAction != null)
        {
            btn.Click += clickAction;
        }
        return btn;
    }
运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

TableLayout实现边框布局位置不偏移

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月15日
    • 创建了问题 5月7日

    悬赏问题

    • ¥20 hc130怎么读写内部flash存储信息
    • ¥15 Axure rp9注册与登录交互
    • ¥15 我下载图形界面重启完就变成这样了,打字也打不了,动也动不了,该怎么解决(操作系统-centos)
    • ¥15 VBA中在窗体中遍历所有checkbox控件,提取出被选中的checkbox的caption值
    • ¥15 在Ubuntu上有什么命令,或者是系统文件能告诉我链接nvme ssd的pcie槽位是不是支持热插拔功能?
    • ¥15 ansys license许可证问题
    • ¥20 QQ号和密码都能正常登录微信 QQ号和密码登录微信显示密码错误
    • ¥15 qiankun主应用注册子应用提示跨域
    • ¥15 单片机RTOS Kernel与应用分离开发,Kernel如何调起应用?
    • ¥15 快手小店商家版APP怎么第三方APP跳转到指定用户聊天界面