我给出了Long layout on Linear layout.Code如下所示。它适用于许多设备。但不能在少数设备上工作如三星Galaxy Tab E,SM-T561。
activity_main layout,
<LinearLayout
android:id="@+id/ll_accept"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:gravity="center">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:background="@drawable/ic_accept_24dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="@string/new_accept"
android:textColor="@color/new_accept_color"
android:textSize="@dimen/new_job_accept_reject_txt_size" />
</LinearLayout>
MainActivity()类,
public class MainActivity extends AppCompatActivity implements View.OnLongClickListener {
...........
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
.....................
llAccept = (LinearLayout) findViewById(R.id.ll_accept);
llAccept.setOnLongClickListener(this);
......................
}
@Override
public boolean onLongClick(View v) {
switch (v.getId()) {
case R.id.ll_accept:
//do your need
break;
}
}
}
答案 0 :(得分:0)
longClicklistener需要返回boolean,如果点击监听器必须在长时间点击后仍然执行,则为false;如果不需要进一步的操作,则为true
另一个解决方案可能是添加可点击,可聚焦和其他属性,如LinearLayout。