【问题标题】:Textview setText left and rightTextview setText左右
【发布时间】:2017-04-12 10:10:14
【问题描述】:

这是我的文本视图

  <TextView
            android:id="@+id/vagon_class_name"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:text="II Class 19 EUR"
            android:clickable="true"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:textSize="12dp" />

如您所见,文本是 II 类 19 欧元。当我左侧只有一个 Textview/II 类而右侧只有 19 欧元时,是否可以这样写我的文本。 我尝试获得此解决方案,因为我有 textSelector xml,并且当我有两个 textview 无法正常工作时。只有第一个 textview 的选择器工作。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="#ffffff"/>
<item android:state_enabled="false" android:color="#4d4d4d" />
<item android:color="#4d4d4d"/>

    <LinearLayout
        android:id="@+id/selected_layout"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="60dp"
        android:clickable="true"
        android:focusable="true"
        android:background="@drawable/recyclerview_selected_departure"
        android:focusableInTouchMode="true">

        <TextView
            android:id="@+id/vagon_class_name"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:paddingLeft="16dp"
            android:text="II Class"
            android:clickable="true"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:textColor="@drawable/testselectorcolor"
            android:gravity="center|left"
            android:textSize="12dp" />


        <TextView
            android:id="@+id/u_major_text"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:gravity="center|right"
            android:singleLine="true"
            android:text="25 EUR"
            android:clickable="true"
            android:focusable="true"

            android:focusableInTouchMode="true"
            android:textColor="@drawable/testselectorcolor"
            android:paddingRight="16dp"
            android:textSize="18dp"


            />


    </LinearLayout>

【问题讨论】:

  • 不可能,你需要两个TextViews
  • 创建一个布局并在里面放两个TextView
  • 我更新了我的问题,请看@AlexTa
  • 我更新了我的问题,请看@Phạm Lam

标签: android android-layout textview android-xml android-relativelayout


【解决方案1】:
<LinearLayout
  android:orientation="horizontal"
  ...>

  <TextView
     android:width = "match_parent"
     android:weight ="1" />

  <TextView
     android:width = "match_parent"
     android:weight ="1"
     android:gravity = "end|right" />

</LinearLayout>

【讨论】:

【解决方案2】:

现在您可以对背景和文本颜色状态进行更改

<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_gravity="bottom"
android:background="@drawable/bg_selector"
android:descendantFocusability="afterDescendants"
android:orientation="horizontal">

<TextView
  android:id="@+id/vagon_class_name"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:paddingLeft="16dp"
  android:gravity="center"
  android:text="II Class"
  android:textColor="@drawable/text_color_selector"
  android:textSize="16sp" />

<android.support.v4.widget.Space
  android:layout_width="0dp"
  android:layout_height="match_parent"
  android:layout_weight="1" />

<TextView
  android:id="@+id/u_major_text"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:paddingRight="16dp"
  android:gravity="center"
  android:maxLines="1"
  android:text="25 EUR"
  android:textColor="@drawable/text_color_selector"
  android:textSize="16sp" />

文本选择器:drawable/text_color_selector.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="@color/colorAccent" android:state_pressed="true" />
  <item android:color="@color/colorPrimary" android:state_pressed="false" android:state_selected="false" />
  <item android:color="@color/colorPrimary" android:state_pressed="false" android:state_selected="true" />
</selector>

背景选择器:drawable/bg_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@color/selector_pressed" android:state_pressed="true" /> <!-- pressed -->
  <item android:drawable="@color/selector_focussed" android:state_focused="true" /> <!-- focused -->
  <item android:drawable="@android:color/transparent" /> <!-- default -->
</selector> 

【讨论】:

  • 我也试过了,但没用..你能在聊天中继续讨论吗? @mpals
  • @Baggio 对不起,我看错了你的问题,你想改变文本颜色还是添加背景选择器??
  • 两者。更改选择器背景颜色并更改两个 Textviews @mpals 中的文本颜色
  • @Baggio 更新了您问题的答案。
【解决方案3】:

试试下面的代码左右对齐

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft = "10dp"
    android:layout_marginRight = "10dp"
    android:layout_marginTop = "10dp"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/alreadymem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:layout_weight="1"
        android:text="Already a Member?"
        />
    <TextView
        android:id="@+id/login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:textColor="@color/textLoginAccount"
        android:layout_weight="1"
        android:text="Login"
        />
</LinearLayout>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2010-12-28
    • 2014-10-10
    • 1970-01-01
    • 2018-04-03
    • 2017-03-27
    • 1970-01-01
    相关资源
    最近更新 更多