Попробуйте следующий код
$('.button').keypress(function(e){
if(e.which == 13){
$(this).css('background-color','#FFF');
}
});
$('.button').keyup(function(e){
if(e.which == 13){
$(this).css('background-color','');
}
});
Я не очень хорош в макетах, но в прошлом я заметил, что строки ListView часто игнорируют LayoutParams. Я понятия не имею, где это происходит или если возможно переопределить, я знаю, что вы можете легко обойти это, добавив другой макет:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="#990000ff" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="#9900ff00"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#99ff0000" />
</LinearLayout>
</LinearLayout>
Обычно макеты, которые имеют только одного дочернего элемента, могут быть удалены, но как Вы можете видеть, что это служит цели:
Самый внешний макет - синий, TextView - красный, а зеленый - это дополнительный макет, который позволяет вам добавить дополнительный интервал. Обратите внимание на разницу между отступом (зеленый слева) и полем (зеленый справа нет). Вы четко заявили, что хотите использовать поля (android:layout_margin
), но ваш код явно использует отступы (android:padding
), поэтому я включил оба.
Немного опоздал, увидев это, но просто добавьте следующие строки в ваш элемент ListView xml
android:divider="#00000000"
android:dividerHeight="10dp"
Смотрите ответ здесь, почему. Короче говоря, ребенок спрашивает родителя, а строка представления списка использует AbsListView.LayoutParams
, который не включает поля.
Почему поле LinearLayout игнорируется, если используется как представление строки ListView
Я полагаю, что у вас есть ListView
, определенный где-то в XML-файле, если да, вы можете добавить к нему немного padding
, чтобы между краем экрана и ListView было некоторое пространство.
Пример:
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp"/>
В вашем адаптере поймайте ваш относительный макет в getView (), затем укажите параметры макета,
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)view.getLayoutParams();
params.setMargins(80, 0, 0, 0); //substitute parameters for left, top, right, bottom
YourRelativeLayoutInAdapter.setLayoutParams(params);