【问题标题】:How can I programmatically set button in right corner of edittext?如何以编程方式在edittext的右上角设置按钮?
【发布时间】:2014-01-10 18:29:09
【问题描述】:

如何以编程方式设置EditText 右上角的按钮?

FrameLayout fl = new FrameLayout(this);
lv.addView(fl);

searchTxt = new EditText(this);
fl.addView(searchTxt);

btnSearch = new Button(this);           

我试过了

btnSearch.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL);
fl.addView(btnSearch);

LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0);
param.gravity = Gravity.RIGHT;
fl.addView(btnSearch, param);

但是按钮还在左上角。

【问题讨论】:

  • 为什么不用xml来创建布局呢?

标签: android button android-edittext android-framelayout layoutparams


【解决方案1】:

layoutparams设置为LinearLayout到width中的Fill_Parent

【讨论】:

    【解决方案2】:

    您需要为按钮设置布局参数如下:

    FrameLayout.LayoutParams param = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0);
    param.gravity = Gravity.RIGHT;
    

    并将其设置为按钮

    btnSearch.setLayoutParam(param);
    f1.addView(btnSearch);
    

    【讨论】:

    • 谢谢!!! LinearLayout.LayoutParams 替换为 FrameLayout.LayoutParams 就可以了!
    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2019-04-13
    • 2014-01-12
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多