我试图在ScrollView中设计一个LinearLayout,因为当键盘被激活时,整个内容将被推高。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.FET.leonardo.scurcola.NameSelection"
android:background="#e0ab18">
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="@string/whoMaster"
android:textColor="@color/white"
android:textSize="50sp"
android:layout_marginTop="25dp"
android:textAlignment="center"
android:id="@+id/whoMaster"
android:layout_gravity="top"
android:layout_weight="5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="@string/zero"
android:textSize="50sp"
android:textColor="@color/white"
android:id="@+id/playersLeft"
android:layout_gravity="center"
android:layout_weight="3"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="0dp"
android:inputType="textPersonName"
android:hint="@string/master"
android:ems="10"
android:textColorHint="@color/white"
android:textColor="@color/white"
android:textColorHighlight="@color/white"
android:id="@+id/names"
android:layout_gravity="center"
android:layout_weight="4" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:layout_gravity="bottom"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/next"
android:onClick="onClick"
android:text="@string/next"
android:textColor="#e0ab18"
android:layout_gravity="start|center"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/back"
android:id="@+id/back"
android:enabled="false"
android:onClick="onClick"
android:textColor="#e0ab18"
android:layout_gravity="end|center"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/finish"
android:visibility="gone"
android:text="@string/finish"
android:onClick="onClick"
android:textColor="#e0ab18"/>
</LinearLayout>
</LinearLayout>
我不明白为什么第二个LinearLayout
内的按钮分别位于start
和end
LinearLayout
}}
答案 0 :(得分:2)
试试这段代码。
您可以通过执行类似
的操作来应用多个重力属性android:layout_gravity="top|center_horizontal"
要将元素本身对齐在其父级中,您必须使用android:layout_gravity
来对齐元素的内容,比如文本视图中的文字,您使用android:gravity
如果您的元素之间需要额外的空间,则不必像使用EditText
那样为元素提供超过所需的高度。只需添加<Space>
元素即可在布局中提供轻量级空格。
这是我将其应用于您的代码的方式:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e0ab18"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.FET.leonardo.scurcola.NameSelection">
<TextView
android:id="@+id/whoMaster"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="top|center_horizontal"
android:gravity="center_horizontal"
android:layout_marginTop="25dp"
android:layout_weight="5"
android:text="@string/whoMaster"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="50sp"/>
<EditText
android:id="@+id/names"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ems="10"
android:hint="@string/master"
android:inputType="textPersonName"
android:textColor="@color/white"
android:textColorHighlight="@color/white"
android:textColorHint="@color/white"/>
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"/>
<TextView
android:id="@+id/playersLeft"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="3"
android:text="@string/zero"
android:textColor="@color/white"
android:textSize="50sp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="bottom|center_horizontal"
android:layout_weight="2"
android:orientation="horizontal">
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:layout_marginRight="12dp"
android:enabled="false"
android:onClick="onClick"
android:text="@string/back"
android:textColor="#e0ab18"/>
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center"
android:layout_marginLeft="12dp"
android:onClick="onClick"
android:text="@string/next"
android:textColor="#e0ab18"
/>
<Button
android:id="@+id/finish"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="@string/finish"
android:textColor="#e0ab18"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 1 :(得分:1)
机器人:windowSoftInputMode =&#34; stateVisible | adjustPan&#34;
在AndroidManifest文件的相应活动中添加此内容。
答案 2 :(得分:0)
layout_gravity
旨在与FrameLayout
一起使用,并定义在封闭layout_gravity
内设置FrameLayout
的元素的位置。对于LinearLayout
,它将被忽略
答案 3 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e0ab18"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.FET.leonardo.scurcola.NameSelection">
<TextView
android:id="@+id/whoMaster"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="25dp"
android:layout_weight="3"
android:text="who is master"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="50sp" />
<EditText
android:id="@+id/names"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="3"
android:ems="10"
android:gravity="center"
android:hint="master's name"
android:inputType="textPersonName"
android:textColor="@color/white"
android:textColorHighlight="@color/white"
android:textColorHint="@color/white" />
<TextView
android:id="@+id/playersLeft"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:gravity="center"
android:text="9"
android:textColor="@color/white"
android:textSize="50sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center"
android:onClick="onClick"
android:text="next"
android:textColor="#e0ab18" />
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:enabled="false"
android:onClick="onClick"
android:text="back"
android:textColor="#e0ab18" />
<Button
android:id="@+id/finish"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="finish"
android:textColor="#e0ab18"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</ScrollView>
检查这是否有帮助。
答案 4 :(得分:0)
我在
Layout
中做了一些修改。Linear Layout
中weights and gravity
的第一次Linear Layout
更改中的一些修改。同样也在第二个Please apply this modified code in your XML
。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e0ab18"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<TextView
android:id="@+id/whoMaster"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:gravity="center"
android:text="Who's The Master"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="35sp" />
<EditText
android:id="@+id/names"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ems="10"
android:hint="Master"
android:inputType="textPersonName"
android:textColor="#FFFFFF"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:textColorHighlight="#FFFFFF"
android:textColorHint="#FFFFFF" />
<TextView
android:id="@+id/playersLeft"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_marginTop="25dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="9"
android:textColor="#FFFFFF"
android:textSize="35sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_gravity="bottom"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/back"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:layout_weight="0.50"
android:enabled="false"
android:onClick="onClick"
android:text="Back"
android:textColor="#e0ab18" />
<Button
android:id="@+id/next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="start|center"
android:layout_weight="0.50"
android:onClick="onClick"
android:text="Next"
android:textColor="#e0ab18" />
</LinearLayout>
</LinearLayout>
</ScrollView>
。
public class LoggingMigrationDecorator : Migration {
private Migration _migrationClass;
public DateTime StartTime { get; private set; }
public LoggingMigrationDecorator (Migration toDecorate)
{
_migrationClass = toDecorate;
this.StartTime = DateTime.Now;
Console.WriteLine("Start {0} - TIME: {1:yyyy-MM-dd HH:mm:ss.fff}", this.GetType().Name, StartTime);
}
public override void Up()
{
toDecorate.Up();
stopTimerFunction(); // your function that will stop timer and do something with result
}
public override void Down()
{
}
}
}
这是屏幕。