亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從以字符串形式提供的 XML 源代碼創建 Drawable

如何從以字符串形式提供的 XML 源代碼創建 Drawable

慕村225694 2021-08-19 22:29:47
如何Drawable從以字符串形式提供的XML 源代碼創建?我找到了以下方法:Drawable drawable = Drawable.createFromXml();但是它需要提供XmlResourceParser- 我仍然沒有看到從 XML 源代碼創建它的方法。XML 源代碼示例:<layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <item>        <bitmap            android:src="@drawable/icon"            android:gravity="right"            />    </item></layer-list>
查看完整描述

3 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

我只是想到這一點,也許在語法上并不完全正確,但我相信這是您想要的。


public Drawable xmlStringToDrawable(String yourString){

     XmlPullParser parser = Xml.newPullParser();

     parser.setInput(new StringReader(yourString));

     return Drawable.createFromXml(getResources(),parser)

}


查看完整回答
反對 回復 2021-08-19
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

這不是問題的答案。但它解決了我的問題。感謝大家的幫助:


        Drawable icon = resources.getDrawable(resources.obtainTypedArray(R.array.arrayName).getResourceId(index, 0), context.getTheme());

        BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;

        bitmapDrawable.setGravity(Gravity.RIGHT);

index在這種方法中,我只在運行時生成。


查看完整回答
反對 回復 2021-08-19
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

供參考


createFromXml()


使用可選的 Resources.Theme從XML 文檔創建可繪制對象。


試試這個


public class RecyclerViewActivity extends AppCompatActivity {



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_recycler_view);


        Drawable testDrawable;


        Resources res = getResources();

        try {

            testDrawable = Drawable.createFromXml(res, res.getXml(R.xml.test));

        } catch (Exception ex) {

            Log.e("Error", "Exception creating drawable from XML");

        }


    }



}


查看完整回答
反對 回復 2021-08-19
  • 3 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號