2013-07-11 2 views
2

У меня есть activity.xmlкак выровнять одно изображение с другим после скольжения пальцем?

Пользователь может переместить эти боксы (кнопки) пальцем вправо и влево.

Однако белая маленькая стрелка не доходит до середины коробки

(иногда слишком правой, иногда слишком левой)

enter image description here

Я пытался добавить/удалить Margine в его левой.

Но это не помогло.

enter image description here

Где я должен посмотреть вокруг?

<com.w.navigate.SearchButtonsBarHorizontalScrollView 
     android:id="@+id/searchButtonBar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="@drawable/engines_bg" 
     android:fadingEdge="horizontal" 
     android:gravity="center" 
     android:padding="0dp" 
     android:scrollbars="none" > 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:orientation="horizontal" 
      android:paddingTop="25dp" > 

      <ImageButton 
       android:id="@+id/leftMargin" 
       android:layout_width="110dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/search_engine_button" 
       android:visibility="invisible" /> 

      <ImageButton 
       android:id="@+id/searchButton1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/search_engine_button" 
       android:onClick="engineClicked" /> 

      <ImageButton 
       android:id="@+id/searchButton2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/search_engine_button" 
       android:onClick="engineClicked" /> 

      <ImageButton 
       android:id="@+id/searchButton3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/search_engine_button" 
       android:onClick="engineClicked" /> 

      <ImageButton 
       android:id="@+id/searchButton4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:background="@drawable/search_engine_button" 
       android:onClick="engineClicked" /> 
     </LinearLayout> 
    </com.w.navigate.SearchButtonsBarHorizontalScrollView> 

Возможно исправление должно быть в коде:

public boolean onTouchEvent(MotionEvent event) { 
    super.onTouchEvent(event); 
    Log.d("w","ontouchevent");  
    if (event.getAction()==MotionEvent.ACTION_UP) { 
     Log.d("WAZE","action up"); 
     Integer min_dist=null; 
     SearchEngine min_se=null; 
     @SuppressWarnings("unchecked") 
     Map<Object, SearchEngine> engines=(Map<Object, SearchEngine>)getTag(R.id.searchEngines); 
     Iterator<SearchEngine> i=engines.values().iterator(); 
     while (i.hasNext()) { 
      SearchEngine tmp_se=(SearchEngine)i.next(); 
      int tmp_dist=Math.abs(tmp_se.getButton().getButtonXPosition()-getScrollX()-getWidth()/2); 
      if (min_dist==null || tmp_dist<min_dist) { 
       min_dist=tmp_dist; 
       min_se=tmp_se; 
      } 
     } 
     ((SearchActivity)getTag(R.id.searchActivity)).setActiveEngine(min_se); 
    } 
    return true; 

} 
+1

Я действительно не понимаю ваш вопрос. – hardartcore

+0

извините, не хватало фотографий –

+0

Так как я понимаю, что вы хотите, чтобы треугольник был центрирован до белого ящика? – hardartcore

ответ

0

Я думаю, ваша проблема исходит от:

android:layout_alignParentBottom="true" 

С этим, ваша стрелка совмещена с Родитель (кнопка). Я искал на андроид developpers, и я нашел атрибут XML, который может быть очень полезным для вас:

android:layout_centerHorizontal="true" 

В Android Developper, вот Decription:

Если это правда, центры этого ребенка по горизонтали в пределах его родитель.

Надеюсь, что это сработает; Я новичок в StackOverflow, может быть, мой ответ не очень хорошо отформатирован.

+0

нет. Это сделало нижний планшник в верхней части экрана. btw, я хочу, чтобы треугольник был центром после того, как пользователь поменял кнопки пальцем, а не на статическую начальную позицию –

0

Если я не ошибается, посмотри на стрелочки расположения - Это просто не находится в горизонтальном средних экране. вы на самом деле делаете все правильно в режиме прокрутки.

Сделайте настоящий скриншот из приложения, чтобы проверить его.

+0

, вы правы, поэтому я разместил это: http://stackoverflow.com/questions/17702609/ почему-есть-my-9png-photo-si-накрахмаленный на правый? noredirect = 1 # comment25866184_17702609 и все же я не уверен, почему в редакторе он посередине, тогда как в приложении itslef это не –