0

我的png文件看起来像:

在此处输入图像描述

我想创建TextView应该是这样的:

在此处输入图像描述

这是我到目前为止所做的:

选择器扬声器.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" 
        android:drawable="@drawable/speaker_over" />
    <item android:state_enabled="false"
        android:drawable="@drawable/speaker_disabled" />
    <item
         android:drawable="@drawable/speaker_default" />
</selector>

这是TextView

 <TextView
        android:id="@+id/speaker"
        android:background="@drawable/speaker"
        android:text="@string/button_speaker"
        android:gravity="center"
        android:textColor="@drawable/text_incall_button_color"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.94" />

细绳

<string name="button_speaker">Speaker</string>

我不知道如何将我的文本对齐为“Right-Center”+“margin right”

在 iOS 的 xCode 中,这很简单,只需以像素比例向左/向右添加边距

我怎样才能在 Android 中做到这一点?

4

5 回答 5

2

尝试此代码并根据您进行更改。

  <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/ic_launcher"
            android:gravity="center"
            android:paddingLeft="20dp"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
于 2013-07-11T04:59:06.603 回答
1

使用以下

android:drawableLeft="@drawable/image"
android:text="@string/text"

仅使用图标作为图像..

通过使用android:drawableLeft,要绘制到文本左侧的drawable。

更新:

然后使用填充

 <TextView
        android:id="@+id/micro"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.94"
        android:background="@drawable/micro_on"
        android:paddingLeft="80dp"
        android:paddingTop="15dp"
        android:text="@string/button_micro"
        android:textColor="@drawable/text_incall_button_color" />
于 2013-05-04T16:32:52.593 回答
1

如果音量图标与背景相结合,那么最简单的方法是创建一个RelativeLayout并将此图像设置为背景。接下来在其中放置 a并给出TextViewthis属性:RelativeLayoutTextView

    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:paddingRight="20dp"

这应该有效:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="your_image" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:paddingRight="20dp"
    android:text="Speaker" />

</RelativeLayout>
于 2013-05-04T17:05:05.290 回答
1

我在这里使用了 imageview 作为父级。我已经使用相对布局在 imageview 顶部设置了文本视图。您可以查看下面的快照。如果您可以灵活地使用 imageview 和 textview,您可以尝试以下方法。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
 >


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/back" />

 <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/imageView1"
    android:layout_marginRight="15dp" or android:paddingLeft="80dp"
    // set padding to desired value
    android:layout_marginTop="25dp"
    android:text="Speaker"
    android:textSize="20dp" />

</RelativeLayout> 

结果快照

在此处输入图像描述

于 2013-05-04T17:16:05.487 回答
0

这个设计之王的使用android:drawableLeft="@drawable/yourimage"属性是关于那个的详细说明...... http://developer.android.com/reference/android/widget/TextView.html#attr_android:drawableLeft

希望这会帮助你。

于 2013-05-04T16:33:16.747 回答