在Imageview使用layout_weight时,在Imageview上放置Textview

时间:2016-12-09 22:13:11

标签: android android-layout android-relativelayout android-layout-weight

我在Tablerow中获得了4张Imageview。它们通过layout_weight命令进行缩放。我现在需要写这个Imageview。是否有可能在不使用相对布局使用alignparent含义的情况下执行此操作?

这是我在片刻的代码:

TableRow.LayoutParams params = new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f);
    TableRow.LayoutParams params1 = new TableRow.LayoutParams(0,ViewGroup.LayoutParams.WRAP_CONTENT,1.2f);
    TableRow.LayoutParams params2 = new TableRow.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 2.4f);
    TableRow.LayoutParams params3 = new TableRow.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 3.6f);
    TableRow.LayoutParams params4 = new TableRow.LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 4.8f);


        TableRow tableRow = new TableRow(this);
        tableRow.setLayoutParams(params);



        ImageView rank = new ImageView(this);
        rank.setAdjustViewBounds(true);
        rank.setLayoutParams(params1);
        rank.setImageResource(R.drawable.whitebutton);

        Layout[i] = new ImageView(this);
        Layout[i].setLayoutParams(params2);
        Layout[i].setImageResource(R.drawable.width2);
        Layout[i].setAdjustViewBounds(true);

        Layout[i+10] = new ImageView(this);
        Layout[i+10].setLayoutParams(params3);
        Layout[i+10].setImageResource(R.drawable.width3);
        Layout[i+10].setAdjustViewBounds(true);


        Layout[i+20] = new ImageView(this);
        Layout[i+20].setLayoutParams(params4);
        Layout[i+20].setImageResource(R.drawable.width4);
        Layout[i+20].setAdjustViewBounds(true);


        tableRow.addView(rank);
        tableRow.addView(Layout[i]);
        tableRow.addView(Layout[i+10]);
        tableRow.addView(Layout[i+20]);
        t.addView(tableRow);

这是我想要创建的界面:
interface

嗯,此外,相同大小的4张图片中还有实际的高分

1 个答案:

答案 0 :(得分:0)

使用TextView代替ImageView

<TextView
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:id="@+id/b1"
    android:text="hai every one !"
    android:textColor="#ffff"
    android:textSize="20sp"
    android:gravity="center"
    android:background="#EF5350"
    android:padding="20dp"
    android:drawableLeft="@mipmap/ic_launcher"
    android:drawableTop="@mipmap/ic_launcher"
    android:drawableRight="@mipmap/ic_launcher"
    android:drawableBottom="@mipmap/ic_launcher"
    android:layout_centerInParent="true"/>

这里你可以使用Text,Background以及4 drawable。你可以使用paddingLeft,paddingTop,paddingRight和paddingBottom来安排drawable。

使用RelativeLayout代替ImageView。在TextView

中添加RelativeLayout

我更喜欢第一种方法。