所以我很难使我的应用全屏显示(没有该死的actionBar)。
我是通过在 mainActivity.java 上完成此操作的:
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
如果我在上面的行中添加注释,滚动将再次起作用,但是每次我打开/关闭键盘时,背景图像就会开始移动。
现在的问题是,当我打开键盘时,ScrollView不再滚动元素,并且它隐藏了按钮。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ghaleon.hqsm.MainActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg2"
android:scaleType="centerCrop"
/>
<ImageView
android:id="@+id/imgLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
app:srcCompat="@drawable/logo"
android:layout_marginBottom="30dp"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imgLogo"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/transp_white_rect"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"
android:layout_marginTop="50dp"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Faça seu Cadastro"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="5dp"
android:paddingStart="15dp"
android:paddingEnd="10dp"
android:paddingTop="10dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="E mostre ao mundo o seu talento"
android:textColor="@color/white"
android:textSize="15sp"
android:layout_marginBottom="30dp"
android:paddingStart="15dp"
android:paddingEnd="10dp"
android:paddingTop="10dp"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="@string/email"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_person_pin"
android:id="@+id/userEmail"
android:layout_marginBottom="10dp"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="@string/password"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_lock_outline"
android:inputType="textPassword"
android:layout_marginBottom="10dp"
android:id="@+id/userPassword"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Confirm Password"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_lock_outline"
android:inputType="textPassword"
android:id="@+id/userConfirmPassword"
android:layout_marginBottom="15dp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="REGISTER"
android:textColor="@color/white"
android:textStyle="normal"
android:background="@drawable/register_button"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_marginBottom="15dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
如何使应用程序不显示actionBar,但也不允许scrollView滚动?
ScreenShot:
大家可以看到,在AutoCompleteTextView
下方有一个按钮。我无法向下滚动以单击按钮。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.biruleibe.hqsm">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity" android:windowSoftInputMode="stateVisible|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
没有全屏显示的示例:(紫色小条显示时钟/电池/等...,每当我打开/关闭键盘时背景图像就会移动)。但是滚动条起作用。
答案 0 :(得分:2)
首先,您应该将样式设置为-
<style name="themex" parent="Theme.AppCompat.Light.NoActionBar">
// your style
<item name="android:windowFullscreen">true</item>
</style>
在Android清单中,您应该将windowsoftinputmode定义为
<activity android:name=".MainActivity"
android:windowSoftInputMode="adjustNothing"
/>
最后是布局。这是一个hack,我已经做了很多次了,没有任何问题。
在您的按钮下方添加一个空的textview并将MarginTop设置为-300dp
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ghaleon.hqsm.MainActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bg2"
android:scaleType="centerCrop"
/>
<ImageView
android:id="@+id/imgLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
app:srcCompat="@drawable/logo"
android:layout_marginBottom="30dp"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imgLogo"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/transp_white_rect"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"
android:layout_marginTop="50dp"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Faça seu Cadastro"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginBottom="5dp"
android:paddingStart="15dp"
android:paddingEnd="10dp"
android:paddingTop="10dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="E mostre ao mundo o seu talento"
android:textColor="@color/white"
android:textSize="15sp"
android:layout_marginBottom="30dp"
android:paddingStart="15dp"
android:paddingEnd="10dp"
android:paddingTop="10dp"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="@string/email"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_person_pin"
android:id="@+id/userEmail"
android:layout_marginBottom="10dp"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="@string/password"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_lock_outline"
android:inputType="textPassword"
android:layout_marginBottom="10dp"
android:id="@+id/userPassword"
/>
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:hint="Confirm Password"
android:background="@drawable/rounded_white"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:drawableLeft="@drawable/ic_lock_outline"
android:inputType="textPassword"
android:id="@+id/userConfirmPassword"
android:layout_marginBottom="15dp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="REGISTER"
android:textColor="@color/white"
android:textStyle="normal"
android:background="@drawable/register_button"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_marginBottom="15dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_marginTop="300dp"
/>
</LinearLayout>
</ScrollView>
</RelativeLayout>