android– 以编程方式无法在RelativeLayout中对齐ImageView

android– 以编程方式无法在RelativeLayout中对齐ImageView,第1张

概述我无法将imageview添加到相对布局中.我想将图像添加到我使用RelativeLayout动态创建的菜单项列表中.我的所有菜单项都显示正常并且按顺序排列但是当我尝试为每个项目添加图像时,我只得到一个箭头并且它不是垂直居中的.以下是我的代码.在我的XML文件中<RelativeLayout android:id='@+id/

我无法将imagevIEw添加到相对布局中.我想将图像添加到我使用relativeLayout动态创建的菜单项列表中.我的所有菜单项都显示正常并且按顺序排列但是当我尝试为每个项目添加图像时,我只得到一个箭头并且它不是垂直居中的.以下是我的代码.

在我的XML文件中

在我的代码中:

private voID buildMenu(String name,int ID) {    String[] menuItems = getResources().getStringArray(pMenus[ID]);    // Get the rel layout from xml    relativeLayout container = (relativeLayout) findVIEwByID(R.ID.pMenu);    int imageID=1;    Typeface tf = Typeface.createFromAsset(this.getAssets(),"mreavesmodot-reg.otf");    for(String menuItem: menuItems) {                   // Defining the layout parameters        relativeLayout.LayoutParams lp = new relativeLayout.LayoutParams(                relativeLayout.LayoutParams.WRAP_CONTENT,relativeLayout.LayoutParams.WRAP_CONTENT);        Styledbutton menuImage = new Styledbutton(this);        menuImage.setBackgroundResource(R.drawable.menu_button);        menuImage.setText(menuItem);        menuImage.setTypeface(tf);        menuImage.setTextSize(19);        menuImage.setpadding(20,0);        menuImage.setTextcolor(color.WHITE);        menuImage.setGravity(Gravity.left | Gravity.CENTER_VERTICAL);        menuImage.setonClickListener(getonClickListener(menuImage,name));        menuImage.setID(imageID);        if(imageID==1) {            lp.addRule(relativeLayout.AliGN_PARENT_top);        } else {            lp.addRule(relativeLayout.BELOW,imageID-1);        }        menuImage.setLayoutParams(lp);        ImageVIEw arrow = new ImageVIEw(this);        arrow.setimageResource(R.drawable.arrow_menu);        arrow.setpadding(0,15,0);        relativeLayout.LayoutParams params = new relativeLayout.LayoutParams( relativeLayout.LayoutParams.WRAP_CONTENT,relativeLayout.LayoutParams.WRAP_CONTENT );        params.addRule(relativeLayout.AliGN_RIGHT,menuImage.getID());        params.addRule(relativeLayout.CENTER_VERTICAL);        arrow.setLayoutParams(params);        container.addVIEw(menuImage);        container.addVIEw(arrow);        imageID++;    }}
最佳答案我认为下面这行是你的问题

params.addRule(relativeLayout.CENTER_VERTICAL); 

是的,您最有可能添加多个箭头,它们只是一个在彼此之上,所有这些都与完整相对布局的垂直中心对齐.该命令不会对您的按钮项执行垂直居中,而是对父亲relativeLayout执行. 总结

以上是内存溢出为你收集整理的android – 以编程方式无法在RelativeLayout中对齐ImageView全部内容,希望文章能够帮你解决android – 以编程方式无法在RelativeLayout中对齐ImageView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)