需要将scrollview仅提供给edittext字段而不是滚动到整个布局 在这个布局中我使用的是edittext,我只需要给予scrollview,即edittext并非所有布局 这是我的代码 See here is image
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbarforprofile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
android:minHeight="?attr/actionBarSize"
android:titleTextColor="#ffffff"
app:theme="@style/ToolbarColoredBackArrow" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_marginBottom="-80dp"
android:layout_marginTop="16dp"
android:elevation="2dp"
android:padding="16dp"
android:src="@drawable/electricle" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:drawableLeft="@drawable/leftarrow"
android:textColor="@color/demo"
android:textSize="0sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-65.5dp"
android:layout_marginRight="18dp"
android:layout_marginTop="18dp">
<LinearLayout
android:id="@+id/profile_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/demo"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/txtservicedetails"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:layout_marginTop="40dp"
android:gravity="center"
android:text="@string/app_name"
android:textColor="#fff"
android:textSize="20sp"
android:textStyle="bold" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:orientation="vertical">
<EditText
android:id="@+id/editText_requirement"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_margin="3dp"
android:background="#fff"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "
android:gravity="top"
android:hint="Your Requirement (optional)"
android:inputType="textMultiLine|textCapSentences"
android:padding="6dp"
android:textColor="#000" />
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="gone" />
<EditText
android:id="@+id/et_dateof_visit"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="5dp"
android:background="#fff"
android:focusable="false"
android:hint="Date Of Visit"
android:inputType="date"
android:maxLines="1"
android:padding="5dp"
android:textColor="#000" />
<EditText
android:id="@+id/et_time"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="5dp"
android:background="#fff"
android:focusable="false"
android:hint="Time Of Visit"
android:inputType="time"
android:maxLines="1"
android:padding="5dp"
android:textColor="#000" />
<EditText
android:id="@+id/et_noofperson"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_margin="5dp"
android:background="#fff"
android:focusable="true"
android:hint="No Of Person You Need"
android:inputType="number"
android:maxLength="2"
android:maxLines="1"
android:padding="5dp"
android:singleLine="true"
android:text="" />
<EditText
android:id="@+id/et_serviceaddress"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_margin="5dp"
android:background="#fff"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/-,: "
android:focusable="true"
android:gravity="top"
android:hint="Service Address"
android:inputType="textMultiLine|textCapSentences"
android:maxLines="4"
android:padding="10dp"
android:singleLine="true"
android:text="" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:layout_marginTop="-20dp"
android:gravity="center">
<Button
android:id="@+id/btn_submit"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/rounded_green"
android:ems="10"
android:gravity="center"
android:text="Submit"
android:textSize="20dp"
android:textStyle="bold" />
<ProgressBar
android:id="@+id/btnsubmit"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
尝试以下内容,
View.OnTouchListener touchListener = new View.OnTouchListener()
{
public boolean onTouch(final View v, final MotionEvent motionEvent)
{
v.getParent().requestDisallowInterceptTouchEvent(true);
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_UP:
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
};
我希望这可以帮到你,一切顺利。
答案 1 :(得分:0)
我仍然不确定我是否理解你的问题。我假设您要进行EditText
(s)滚动,同时将顶部TextView
和底部Button
固定到位。
试试这个。我首先将LinearLayout
作为主要容器,然后将TextView
,ScrollView
和Button
添加为子布局。
然后,所有需要滚动的EditText
(s)都可以添加到LinearLayout
作为孩子添加到ScrollView
。
查看此代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbarforprofile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
android:minHeight="?attr/actionBarSize"
android:titleTextColor="#ffffff"/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:text="@string/app_name"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Put all your scrollable content in here-->
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
</LinearLayout>
我已将layout_weight
属性提供给ScrollView
,以确保Button
始终位于底部。
PS:如果这不是您需要的解决方案,请发表评论。
答案 2 :(得分:0)
机器人:scrollHorizontally =&#34;真&#34;使用这个