我刚开始使用Android开发,并且正在尝试学习所有内容的复杂性。我尝试创建的视图类似于$________
(一个美元符号后面跟一个文本框),但我无法让LinearLayout正常工作(我是' m想象它的工作方式就像XAML的StackPanel?)。
以下是我所拥有的:
<?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">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="75dp">
<TextView android:text="$"
android:textSize="65dp"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<EditText android:layout_width="150dp"
android:layout_height="match_parent"/>
</LinearLayout>
</LinearLayout>
但只有美元符号出现。如果我将其切换为:
<?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">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="75dp">
<EditText android:layout_width="150dp"
android:layout_height="match_parent"/>
<TextView android:text="$"
android:textSize="65dp"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</LinearLayout>
然后它会像我期望的那样出现:_________$
,但相反的情况似乎并不好用。非常感谢任何帮助!
答案 0 :(得分:1)
你可以使用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:text="$"
android:textSize="65sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:textSize="65sp"
android:hint="Edit text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
和
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:textSize="65sp"
android:layout_width="wrap_content"
android:hint="Edit text"
android:layout_height="wrap_content"/>
<TextView android:text="$"
android:textSize="65sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
答案 1 :(得分:0)
您应该将wrap_content
用于layout_width
的{{1}}。
答案 2 :(得分:0)
您需要与美元符号上的父宽度不匹配。
相对布局怎么样?
或者您可以在美元符号和输入字段上设置0dp宽度,然后设置布局权重属性。然后LinearLayout具有权重和属性。
答案 3 :(得分:0)
嘿试着wrap_content
TextView
<TextView android:text="$"
android:textSize="65dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
<EditText android:layout_width="150dp"
android:layout_height="match_parent"/>