- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 XML 文件 -
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/activity_product_page_root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_product_page_top_product_layout"
android:layout_width="match_parent"
android:layout_height="80dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/activity_product_page_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:contentDescription="@string/marketplace_productvendor_page_back_button"
android:onClick="backButtonPressed"
android:src="@drawable/arrow_left"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/activity_product_page_vendor_icon_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:contentDescription="@string/marketplace_productvendor_page_vendor_image"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_width="200dp" />
<FrameLayout
android:id="@+id/activity_product_page_shopping_cart_framelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/activity_checkout_cart_imageView"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_margin="20dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:src="@drawable/icons_32_x_32_black_shopping_cart" />
<TextView
android:id="@+id/activity_product_page_shopping_cart_counter"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="end"
android:background="@drawable/textview_round_background"
android:elevation="1dp"
android:gravity="center"
android:maxLines="1"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="10sp"
android:textStyle="bold"
android:visibility="gone"
app:autoSizeMaxTextSize="16sp"
app:autoSizeMinTextSize="10sp"
app:autoSizeStepGranularity="2sp"
app:layout_constraintStart_toEndOf="@+id/activity_checkout_cart_imageView"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="SmallSp"
tools:text="1"
tools:visibility="visible" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/activity_product_page_top_product_layout">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/activity_product_page_share_product_action_button"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="end"
android:layout_marginTop="30dp"
android:layout_marginEnd="20dp"
android:alpha="0.5"
android:background="@color/grey_text_cart"
android:backgroundTint="@color/grey_text_cart"
android:elevation="1dp"
android:scaleType="center"
android:src="@drawable/share_product"
app:backgroundTint="@color/white"
app:fabCustomSize="50dp"
app:fabSize="auto"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.core.widget.NestedScrollView
android:id="@+id/activity_product_page_nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:id="@+id/activity_product_page_nested_linear_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/marketplace_15dp">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/very_light_grey" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/activity_product_page_brands_breadcrumbs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:fontFamily="@font/noto_sans"
android:text="@string/breadcrumbs_brands"
android:textStyle="bold" />
<TextView
android:id="@+id/activity_product_page_vendor_breadcrumbs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_toEndOf="@id/activity_product_page_brands_breadcrumbs"
android:fontFamily="@font/noto_sans"
android:text="@string/products_breadcrumbs_unknown_vendor"
android:textStyle="bold" />
<TextView
android:id="@+id/activity_product_page_product_breadcrumbs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_toEndOf="@id/activity_product_page_vendor_breadcrumbs"
android:ellipsize="end"
android:fontFamily="@font/noto_sans"
android:maxLines="1"
android:text="@string/activity_product_page_unknown_product"
android:textColor="#979797" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:background="@color/very_light_grey" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/activity_product_page_view_pager"
android:layout_width="match_parent"
android:layout_height="300dp"
android:paddingStart="40dp"
android:paddingEnd="40dp"
tools:layout_height="300dp" />
<me.relex.circleindicator.CircleIndicator
android:id="@+id/activity_product_page_image_indicator"
android:layout_width="match_parent"
android:layout_height="10dp"
app:ci_drawable="@drawable/currently_selected_product"
app:ci_drawable_unselected="@drawable/currently_unselected_product"
app:ci_height="5dp"
app:ci_width="5dp" />
<LinearLayout
android:id="@+id/activity_product_page_products_details_viewgroup"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/marketplace_15dp"
android:background="@color/very_light_grey"
android:orientation="vertical">
<TextView
android:id="@+id/activity_product_page_product_title_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:textSize="20sp"
android:textStyle="bold"
tools:text="Products long title" />
<TextView
android:id="@+id/activity_product_page_product_short_description_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
tools:text="Product short description" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="@dimen/marketplace_14dp">
<TextView
android:id="@+id/activity_product_page_sold_by"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_sold_by" />
<TextView
android:id="@+id/activity_product_page_vendors_name_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/activity_product_page_sold_by"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/activity_product_page_sold_by"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_unknown"
android:textStyle="bold"
tools:text="Vendors name, " />
<TextView
android:id="@+id/activity_product_page_fulfilled_by_hard_coded_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/activity_product_page_vendors_name_textview"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_fulfilled_by" />
<TextView
android:id="@+id/activity_product_page_fulfilled_by_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/activity_product_page_fulfilled_by_hard_coded_text"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/activity_product_page_fulfilled_by_hard_coded_text"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_unknown"
android:textStyle="bold"
tools:text="Project Verte." />
<TextView
android:id="@+id/activity_product_page_sku_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_sku_unknown"
tools:text="SKU: K004" />
</RelativeLayout>
<TextView
android:id="@+id/activity_product_page_product_price_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_fetching_price"
android:textSize="20sp"
android:textStyle="bold"
tools:text="$35.00" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_additional_tax_may_apply_on_checkout" />
<RelativeLayout
android:id="@+id/activity_product_page_availability_view_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/marketplace_15dp">
<TextView
android:id="@+id/activity_product_page_availability_hardcoded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_availability" />
<TextView
android:id="@+id/activity_product_page_availability_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/activity_product_page_availability_hardcoded"
android:layout_toEndOf="@+id/activity_product_page_availability_hardcoded"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_unknown"
android:textColor="@color/red_delete"
tools:text="In Stock"
tools:textColor="@color/product_available" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/activity_product_page_quantity_picker_viewgroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/marketplace_15dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:id="@+id/activity_product_page_quantity_hardcoded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_quantity" />
<NumberPicker
android:id="@+id/activity_product_page_quantity_number_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/activity_product_page_quantity_hardcoded"
android:layout_marginStart="90dp"
android:layout_marginEnd="90dp" />
</RelativeLayout>
<!-- At this point starts the dynamic product attributes (if any exists)
Check ProductPageActivity.java 'setProductPurchaseAttributes()'
for the code -->
<ProgressBar
android:id="@+id/activity_product_page_add_to_cart_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/marketplace_15dp"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/activity_product_page_add_to_cart_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:background="@color/color_black"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_add_to_cart"
android:textColor="@color/white" />
<ProgressBar
android:id="@+id/activity_product_page_buy_now_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/marketplace_15dp"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/activity_product_page_buy_now_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:background="@color/color_black"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_buy_now"
android:textColor="@color/white" />
<TextView
android:id="@+id/activity_product_page_share_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_share" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marketplace_14dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="@dimen/marketplace_14dp"
android:fontFamily="@font/noto_sans"
android:text="@string/activity_product_page_related_products"
android:textSize="22sp"
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/activity_product_page_related_recycleview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginTop="@dimen/marketplace_15dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/fragment_marketplace_products_row_item" />
<View
android:id="@+id/activity_product_page_bottom_view"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="@dimen/marketplace_15dp"
android:layout_marginBottom="60dp"
android:background="@color/light_black"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
看起来像这样 -
我正在尝试实现一种逻辑,该逻辑将使 float 栏在到达名为 - activity_product_page_share_textview
的 TextView 时消失。 。我尝试实现 new NestedScrollView.OnScrollChangeListener()
在我的 NestedScrollView 上,但我从scrollX和scrollY获得的值完全不相关 - 似乎它根据当前可用的屏幕空间计算值,并且(也许)还根据我的滚动速度 - 绝对不是根据 NestedScrollView ViewGroup。
另外,我希望 float 栏在 TextView 的 Y 位置下方时返回。两者都通过一些简单的淡入/淡出动画出现和消失。
我该如何实现它?
最佳答案
也许是这样的?需要一些优化(例如 float 按钮不需要位于每个滚动条上),但这与想法有关。
activity_product_page_nested_scroll_view.setOnScrollChangeListener(NestedScrollView.OnScrollChangeListener { _, _, _, _, _ ->
val locationOfTextView = IntArray(2)
val locationOfFloatingButton = IntArray(2)
activity_product_page_share_textview.getLocationInSurface(locationOfTextView)
activity_product_page_share_product_action_button.getLocationInSurface(
locationOfFloatingButton
)
if (locationOfTextView[1] >= locationOfFloatingButton[1] &&
locationOfTextView[1] + activity_product_page_share_textview.height <= locationOfFloatingButton[1] + activity_product_page_share_product_action_button.height
) {
if (activity_product_page_share_textview.alpha == 1F)
activity_product_page_share_textview.animate().alpha(0F).setDuration(200L).start()
} else {
if (activity_product_page_share_textview.alpha < 1F)
activity_product_page_share_textview.animate().alpha(1F).setDuration(200L).start()
}
})
关于android - 当 float 按钮到达 NestedScrollView 内 TextView 的相同高度位置时,如何将 float 按钮可见性设置为 GONE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60360327/
我正在尝试制作一个程序,显示飞机到达和起飞的时间表,然后要求用户在 C 中输入时间。然后程序将找到最接近输入时间的到达时间用户。问题是它没有按预期工作,并且给我一个错误的到达时间,甚至不接近输入的时间
我有一个不断填充新信息行的 Excel 表,其中一列与联系客户的日期(有时为空 - 无需输入日期)相关,如果在 10 内没有收到回复从那以后的几天,我们必须发送提醒,如果过了 17 天,我们必须取消订
实际到达很简单,标签进入接收器天线范围,但是偏离是造成问题的原因。 首先,我们了解一些有关设置的信息。 标签: 它们以433Mhz的速度工作,每1.5秒钟发送一次“心跳”,移动时进入传输突发模式,这种
我构建了这段代码来从 URL 获取 XML我使用了 AsyncTask,当到达 getInputStream() 点时,半身应用程序仍然崩溃 重点是我想从 url 获取 XML 作为字符串。 我尝试不
所以我有一个 TDBGrid,我的目的是搜索 DBGrid 的 Fieldname 并将其与我的编辑的 Text 属性进行比较,如果它们相等,则 我想将找到匹配项的整列写入列表框。 通过带有 fiel
我会写得非常简单,因为实际的修复并不比我不理解的实际设计重要。似乎一旦我的 @RequestBody 命中 @Controller,有关 subtype 的信息就会丢失。 假设我们有: class A
所以我正在做这个简单的动态编程问题,关于达到 n一次只能走 1 或 2 步。我知道答案基本上是一个斐波那契序列,答案是:达到n-2的步骤数+ 到达 n-1 的步数. T(n) = T(n-1) +
(function start (){ $('.bar').each(function(i){ var $bar = $(this); $(this).append('')
我有一个程序,我在启动它之前要求用户输入。 public static void main(String args[]) { String database = JOptionPane.sho
就是这样,我必须在提交按钮上有一张图片,但它根本没有出现。 我希望它看起来像这样: 现在看到我的是这样的,我不明白为什么它没有出现在页面上。 HTML CSS #sognu { bac
click here 点击后重定向至 xyz.com/#contact, 现在我想获得div #abc的顶部位置 //set the value as a variable, and remove t
here is a fiddle to know where I am starting from 我要解决的问题涉及对单个 html 文件的内容进行“分页”,以一种将它们一次锁定在一个部分中的方式。
是否可以在传递页面部分时运行 javascript 函数?我想要实现的是类似于 Twitter Bootstrap 的 scrollspy。 最佳答案 您可以使用 waypoints 插件: http
我有一个可以动态调整其大小的 iframe。我通过父页面上的发布消息和监听器解决了这个问题,因此每次 iframe 的内容发生变化时,iframe 的大小也会发生变化,并且永远不会有滚动条。 在 if
我试图让我的导航栏在到达我在网站下方设置的 anchor 时变得透明。 这是我的HTML Home About Logo W
我写了一个简单的程序来管理姓名列表(下面是程序的一部分)。我希望函数“choice()”结束并返回到 main()——从而结束程序——当用户对变量“option”的输入为 4 时。然而,choice(
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
代码片段在 while 循环后有一个 EOF,之后必须再次重新打开文件 - fopen 被重用。我的问题是是否有办法避免这种笨拙的 fopen 双重使用或以某种方式不使用 EOF? if (!(f=f
从这个页面: http://www.beta.inegi.org.mx/app/buscador/default.html?q=e15a61a 我正在尝试检索此网址: http://www.beta.
我使用维基百科的 API 来获取有关页面的信息。API 给我这样的 JSON: "query":{ "pages":{ "188791":{ "pageid":18879
我是一名优秀的程序员,十分优秀!