有没有办法增加TextView
的触摸目标,而不必扩大TextView
的尺寸并影响布局?
例如:
如果我在垂直LinearLayout
中有多个TextView
的地址信息。我点击了电话号码TextView
。无论如何,如果没有创建填充并将周围的TextView
推得更远,可以使电话号码TextView
触摸目标更大吗?
答案 0 :(得分:0)
您可以使用其他Layout
像这样的东西,你可以在布局上设置OnClickListener
。如果您想增加触摸目标的大小,只需增加高度。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="some text"/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
如果你知道textView的确切大小,你可以为TextViews FrameLayout as parent
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:text="Phone number" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="lorem ipsum" />
</FrameLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
</LinearLayout>
在结果中,您可以看到手机TextView的触控区域
或者,当您使用负边距时,您可以获得相同的结果
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="-8dp"
android:layout_marginTop="-8dp"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:text="Phone number" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="lorem ipsum" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="lorem ipsum" />
</LinearLayout>