如何在LinearLayout中将EditText放在按钮上?

时间:2016-10-25 05:34:00

标签: android xml android-layout android-studio

这就是它现在的样子:

enter image description here

我希望它看起来像:

enter image description here

我想要一个可编辑的按钮内部(时间可去的地方)的文本框。我该怎么做?

代码:

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

    // NAME 1
    <Button
        android:id="@+id/name1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="@drawable/button_border"
        android:text="Name"
        android:onClick="changeName"/>
    // NAME 2
    <Button
        android:id="@+id/name2"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="@drawable/button_border"
        android:text="NAME"
        android:onClick="changeName"/>

</LinearLayout>

谢谢,并对此问题的简单性感到抱歉。我只是一个想要了解更多信息的业余爱好者。

3 个答案:

答案 0 :(得分:2)

尝试这种方式可以帮助你

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:background="#f0f8f0"
    android:layout_height="match_parent">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="2"
        >
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:gravity="center"
            android:background="#4472C4"
            >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Liam Ten"
            android:textStyle="bold"

            android:textColor="@android:color/white"
            android:textSize="16dp"
            />
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="01:03:66"
                android:textSize="16dp"
                android:textColorHint="@android:color/white"

                />
        </LinearLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="Neil C"
            android:textSize="16dp"
            android:gravity="center"
            android:background="#4472C4"

            android:textColor="@android:color/white"
            android:layout_weight="1"
            android:textStyle="bold"
            />
    </LinearLayout>
</LinearLayout>

<强> OUPUT

enter image description here

答案 1 :(得分:0)

我猜你正在显示计时器的时间,这个时间会经常变化。更好地使用这种方法。

String myValue = String.format("%s \n %s", "Liam Tan" , String.valueOf(yourTimingValue));

myButton.setText(myValue);

答案 2 :(得分:0)

  

有两种方法可以实现这一目标。

name1.setText("Liam Taen" + "\n" + dateTimeString);

并在xml中将multiline=true添加到Button name1

其次,使用

<LinearLayout root layout with orientation horizontal
  <LinearLayout width weight 1 where orientation vertical
     <Button  for name >
     <TextView for showing time>
  </LinearLayout end linearLayout>

  <LinearLayout width weight 1 where orientation vertical>
       <Button name2 to center by layout_gravity= center or gravity= center from parent
  </LinearLayout end second linearlayout>

</LinearLayout end root  linearlayout>