-1

我想显示 4 个带有图像的文本,与此屏幕截图中显示的完全一样:

在此处输入图像描述

注意图像底部的 4 个文本,旁边有图标。

我的问题是如何做到这一点,我的意思是,如何将图标附加到每个文本字段并在页面底部对称显示。

我想用图标来定位我的文本,就像这个例子一样。

感谢您的帮助,对于新手来说这真是一个很棒的练习:)

德维尔

4

4 回答 4

3

用于drawableLeft

<TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/icon_1"
        android:gravity="center_vertical"
        android:textStyle="bold"
        android:textSize="24dip"
        android:maxLines="1"
       />

或者

在java代码中

TextView textView = (TextView) findViewById(R.id.yourTV);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_1, 0, 0, 0);
于 2013-05-21T08:33:20.810 回答
0

您可以只使用 a TextView,并添加例如android:drawableLeft="@drawable/your_icon" Use left/right 取决于您想要图标的位置。

于 2013-05-21T08:34:10.823 回答
0
<LinearLayout

     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent">

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text"
                android:layout_weight="1"
                android:drawableLeft="@drawable/icon"
                android:gravity="center_horizontal"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text"
                android:layout_weight="1"
                android:drawableLeft="@drawable/icon"
                android:gravity="center_horizontal"/>
    </LinearLayout>

    <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text"
                android:layout_weight="1"
                android:drawableLeft="@drawable/icon"
                android:gravity="center_horizontal"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text"
                android:layout_weight="1"
                android:drawableLeft="@drawable/icon"
                android:gravity="center_horizontal"/>
    </LinearLayout>
</LinearLayout>
于 2013-05-21T08:38:42.230 回答
0

实现这一点的理想方法是:

textView.setCompoundDrawables(getDrawable(R.drawable.image), 15), null, null, null);

将以下函数添加到您的代码中:

public Drawable getDrawable(int drawable, float form_factor) {
    Drawable top = getApplicationContext().getResources().getDrawable(drawable);
    top.setBounds(0, 0, (int)form_factor, (int)form_factor);
    return top;
}

通过这种方式,您可以适当地设置/选择/调整文本图标的大小(通过调整 form-factor 的值),这在通过 xml 完成时是不可能的

注意:我已经为方形可绘制对象编写了上面的函数,对于矩形图像,我们必须做setBounds相应的事情。

于 2013-05-21T08:41:02.600 回答