我是一个应用程序,我将Radio Button& TextView在同一行。但是当我在Nexus 7上运行时,它看起来像这样:
我想创建第二个。如何解决这个问题:
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="@drawable/loginsigninbackground" >
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="@android:color/white"
android:orientation="vertical" >
<EditText
android:id="@+id/UserNameToLogin"
android:layout_width="300dp"
android:layout_height="40dp"
android:hint="@string/username"
android:ems="10"
android:layout_gravity="center"
android:background="@drawable/customised_edit_text"
android:singleLine="true"
android:gravity="center|left"
android:textColorHint="#30D683"
android:paddingLeft="20dp"
>
<requestFocus />
</EditText>
<EditText
android:id="@+id/UserPasswordToLogin"
android:layout_width="300dp"
android:layout_height="40dp"
android:hint="@string/password"
android:ems="10"
android:inputType="textPassword"
android:layout_gravity="center"
android:background="@drawable/customised_edit_text"
android:singleLine="true"
android:gravity="center|left"
android:textColorHint="#30D683"
android:layout_marginTop="5dp"
android:paddingLeft="20dp"
>
</EditText>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButtonRememberMe"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/remember_me"
android:checked="false"
android:textSize="18sp"
android:textColor="#30D683"
android:button="@drawable/radio_selector"
android:background="@android:color/transparent" />
<TextView
android:id="@+id/UserRememberMe"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/forgot_password"
android:textColor="#30D683"
android:textSize="18sp"
android:cacheColorHint="@android:color/transparent"
android:background="@android:color/transparent"
/>
</LinearLayout>
<Button
android:id="@+id/ButtonNext"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="@string/next"
android:background="@drawable/customised_button_click"
android:onClick="gotosignup"
android:clickable="true"
android:textSize="20sp"
/>
<Button
android:id="@+id/ButtonSignUp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/signup"
android:gravity="center"
android:textSize="20sp"
android:background="@drawable/customised_button_click"
android:onClick="gotosignup"
android:clickable="true"
/>
</LinearLayout>
</LinearLayout>
我可以知道实现目标的正确方法是什么?也许这个问题太基础了,但我找不到合适的解决方案。请帮帮我。
答案 0 :(得分:0)
不要像编辑文本一样硬编码编辑文本的高度和宽度
<EditText
android:id="@+id/UserPasswordToLogin"
android:layout_width="300dp"
android:layout_height="40dp"
android:hint="@string/password"
android:ems="10"
android:inputType="textPassword"
android:layout_gravity="center"
android:background="@drawable/customised_edit_text"
android:singleLine="true"
android:gravity="center|left"
android:textColorHint="#30D683"
android:layout_marginTop="5dp"
android:paddingLeft="20dp"
>
所以基本上是
android:layout_width="300dp"
android:layout_height="40dp"
而非提供fill_parent
或match_parent
android:layout_width="match_parent"
android:layout_height="match_parent"
或
android:layout_width="fill_parent"
android:layout_height="fill_parent"
对所有文本字段执行此操作,然后尝试。
答案 1 :(得分:0)
试试这个..
有两种方式
1)将android:layout_width="match_parent"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" >
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="@android:color/white"
android:orientation="vertical" >
<EditText
android:id="@+id/UserNameToLogin"
android:layout_width="match_parent"
android:layout_height="40dp"
android:ems="10"
android:gravity="center|left"
android:hint="username"
android:paddingLeft="20dp"
android:singleLine="true"
android:textColorHint="#30D683" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/UserPasswordToLogin"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:ems="10"
android:gravity="center|left"
android:hint="password"
android:inputType="textPassword"
android:paddingLeft="20dp"
android:singleLine="true"
android:textColorHint="#30D683" >
</EditText>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButtonRememberMe"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/transparent"
android:checked="false"
android:text="remember_me"
android:textColor="#30D683"
android:textSize="18sp" />
<TextView
android:id="@+id/UserRememberMe"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:text="forgot_password"
android:textColor="#30D683"
android:textSize="18sp" />
</LinearLayout>
<Button
android:id="@+id/ButtonNext"
android:layout_width="match_parent"
android:layout_height="60dp"
android:clickable="true"
android:onClick="gotosignup"
android:text="next"
android:textSize="20sp" />
<Button
android:id="@+id/ButtonSignUp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:gravity="center"
android:onClick="gotosignup"
android:text="signup"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
和
2)将LinearLayout
宽度更改为300dp
,同时删除android:layout_gravity="center"
EditText
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButtonRememberMe"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/remember_me"
android:checked="false"
android:textSize="18sp"
android:textColor="#30D683"
android:button="@drawable/radio_selector"
android:background="@android:color/transparent" />
<TextView
android:id="@+id/UserRememberMe"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/forgot_password"
android:textColor="#30D683"
android:textSize="18sp"
android:cacheColorHint="@android:color/transparent"
android:background="@android:color/transparent"
/>
</LinearLayout>
答案 2 :(得分:0)
将root linearlayout更改为
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
并在childlayout中将布局宽度设置为300dp
<LinearLayout
android:layout_width="300dp"
android:layout_height="0dip"
android:layout_weight="1"
android:background="@android:color/white"
android:orientation="vertical" >