如何制作,以便Buttons
不会转移到底部,具体取决于其上方TextView
的内容?
如果TextView
包含大量文字,则按下按钮
它可能需要使用RelativeLayout
?你能解释一下我该怎么办?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/mainbackground">
<TextView
android:id="@+id/tvBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_company"
android:layout_marginLeft="30dp"
android:textColor="#002060"
android:layout_marginTop="20dp"
android:textSize="15sp"
>
</TextView>
<Button
android:id="@+id/button_operations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_blue"
android:drawableLeft="@drawable/ic_purchase"
android:paddingLeft="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:gravity="left|center"
android:text=" oper1"
android:layout_marginTop="15dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textColor="#001B51"
android:textSize="30sp"
android:textStyle="bold"
/>
....... //4 more buttons
<Button
android:id="@+id/button_exit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_blue"
android:paddingLeft="10dp"
android:drawableLeft="@drawable/ic_exit"
android:gravity="left|center"
android:text=" Exit"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textColor="#001B51"
android:textSize="30sp"
android:textStyle="bold"/>
</LinearLayout>
答案 0 :(得分:1)
是的,RelativeLayout会更好地为此工作。注意添加了新属性。
<?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"
android:background="@drawable/mainbackground">
<TextView
android:id="@+id/tvBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_company"
android:layout_marginLeft="30dp"
android:textColor="#002060"
android:layout_marginTop="20dp"
android:textSize="15sp"
android:layout_alignParentStart="false"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</TextView>
<Button
android:id="@+id/button_operations"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_blue"
android:drawableLeft="@drawable/ic_purchase"
android:paddingLeft="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:gravity="left|center"
android:text=" oper1"
android:layout_marginTop="50dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textColor="#001B51"
android:textSize="30sp"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"/>
答案 1 :(得分:0)
另一种方法是以编程方式设置其位置:
var rx = new Regex(@"(\bred.*?)\d+");
var result = rx.Replace("this is red with number 111", "${1}666");
答案 2 :(得分:0)
默认情况下,您的TextView
会根据需要增长。您可以对其进行限制,例如使用maxLines
<TextView
android:maxLines="3"
...
</TextView>
如果您愿意,还可以使用android:ellipsize来显示TextView
末尾有更多文字。
您可以阅读through the documentation以了解哪种属性最适合您。