如何在Android的TextView中对齐文本?

如何在Android的TextView中对齐文本?,android,textview,Android,Textview,我有一个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:drawabl

我有一个
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>
字符串

<string name="button_speaker">Speaker</string>
扬声器
我不知道如何将我的文本对齐为“右中心”+“右边距”

在iOS版的xCode中,它很简单,只需按像素比例左/右添加边距

在Android中如何实现这一点?

使用以下命令

android:drawableLeft="@drawable/image"
android:text="@string/text"
仅使用图标作为图像

通过使用,可以将可绘制的图形绘制到文本的左侧

更新:

那就用填充物吧

 <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" />

使用以下命令

android:drawableLeft="@drawable/image"
android:text="@string/text"
仅使用图标作为图像

通过使用,可以将可绘制的图形绘制到文本的左侧

更新:

那就用填充物吧

 <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" />

使用
android:drawableLeft=“@drawable/yourimage”
属性作为这一设计之王 这是关于这个的详细说明。。。


希望这能对你有所帮助。

使用android:drawableLeft=“@drawable/yourimage”属性来创建这个设计之王 这是关于这个的详细说明。。。


希望这能对您有所帮助。

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

    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>

如果音量图标与背景相结合,则最简单的方法是创建一个
相对图像,并将此图像设置为背景。接下来将
TextView
放置在此
RelativeLayout
中,并为
TextView
提供以下属性:

    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>

我在这里使用了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> 

结果快照


我在这里使用了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> 

结果快照


尝试此代码并根据您的需要进行更改

  <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" />

尝试此代码并根据您的需要进行更改

  <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" />


仅使用图标,而不是完整的矩形图像。。作为背景,将另一部分设置为渐变形状但如果你想使用当前图像,那么我认为唯一的方法是使用padding left,我编写了与iOS相同的应用程序,并使用相同的图像。你想做什么就做不到只使用图标而不是完整的矩形图像。。作为背景,将另一部分设置为渐变形状但如果你想使用当前图像,那么我认为唯一的方法是使用padding left,我编写了与iOS相同的应用程序,并使用相同的图像。无法执行此操作如果您使用带有集成声音图标的bg图像,则意味着您无法设置drawableleft。。您可以使用任何布局,将bg图像设置为布局背景,并设置带填充的文本视图。如果您使用带有集成声音图标的bg图像,则意味着您无法设置drawableleft。。您可以使用任何布局,将bg图像设置为布局背景,并使用填充设置文本视图。。