【问题标题】:Associate an image with Radio button in Android将图像与 Android 中的单选按钮相关联
【发布时间】:2012-01-04 20:14:28
【问题描述】:

我想从我的 URL 中获取图像并将其添加到单选按钮,该单选按钮会进一步添加到单选组。但是,我找不到诸如 setText 之类的方法来为单选按钮设置文本。我希望以类似的方式将图像添加到我的单选按钮。有什么提示/方法可以为我做同样的事情吗?任何提示/代码示例都会对我很有帮助,

        RadioGroup rg = new RadioGroup (this); 
            rg = (RadioGroup) findViewById(R.id.radioGroup1);
            RadioButton rb[]= new RadioButton[children.size()];

            for (int i = 0; i < var.size(); i++) 
                {   
                Element movieAtt = (Element)doc.getRootElement().getChild("movies").getChildren("movie").get(i);                                            
                MovieName[i]=movieAtt.getAttributeValue( "Title" );
                MovieCover[i]=movieAtt.getAttributeValue( "cover" );
                ShowTime[i]=movieAtt.getAttributeValue( "showtime" );

                rb[i] = new RadioButton(this);
                rb[i].setText(movieAtt.getAttributeValue("Title"));
                rg.addView(rb[i]);  

                //Calling this func to get Images
                //LoadImageFromWebOperations(movieAtt.getAttributeValue( "cover" ));
                //rb[i].buildDrawingCache(LoadImageFromWebOperations(movieAtt.getAttributeValue( "cover" )));



public static Drawable LoadImageFromWebOperations(String url) 
{
        try 
        {
            InputStream is = (InputStream) new URL(url).getContent();
            Drawable d = Drawable.createFromStream(is, "src name");
            return d;
        } 
        catch (Exception e) 
        {
            return null;
        }
}

【问题讨论】:

    标签: java android radio-button


    【解决方案1】:

    是图片的问题还是文字的问题?至于图像,我相信这应该可行:

    Drawable d = LoadImageFromWebOperations(movieAtt.getAttributeValue("cover"));
    rb[i].setButtonDrawable(d);
    

    确保将重力设置为Gravity.CENTER,否则您的图像将不会以单选按钮为中心。

    您应该在 RadioButton reference 中找到有关文本的信息。

    【讨论】:

    • 对于 SetGravity 两者 d.setForegroundGravity(Gravity.CENTER); & d.setGravity(Gravity.CENTER);失败!!
    • rb[i].setButtonDrawable(d); rb[i].setGravity(Gravity.CENTER); rg.addView(rb[i]);
    • 或许this answer 能帮到你?
    • 也提到这一点.. @Tobbe 是您建议 Gravity.CENTER 用于 RadioButton 实例还是用于 RadioGroup
    • 据我所知,应该为单个按钮而不是整个组设置属性,因为组可能有自己的、单独的背景图像。不幸的是,我没有可能很快测试任何东西,所以我不能肯定地说什么。如果有人遇到类似问题,也许您可​​以四处看看?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2016-03-07
    • 2021-05-21
    • 2019-10-24
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多