2

を持っていますactivity.xml

ユーザーは、これらのボックス (ボタン) を指で左右に動かすことができます。

しかし、白い小さな矢印はボックスの真ん中まで届きません

(右すぎる時もあれば、左すぎる時もある)

ここに画像の説明を入力

左に余白を追加/削除しようとしました。

しかし、それは役に立ちませんでした。

ここに画像の説明を入力

どこを見渡せばいいですか?

 <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;

}
4

2 に答える 2

0

あなたの問題は次のことから来ていると思います:

android:layout_alignParentBottom="true"

これにより、矢印が親 (ボタン) に揃えられます。Android 開発者を検索したところ、非常に役立つ xml 属性が見つかりました。

android:layout_centerHorizontal="true"

Androidデベロッパーでは、ここに説明があります:

true の場合、この子を親内で水平方向に中央揃えにします。

うまくいくことを願っています。私は StackOverflow を初めて使用します。おそらく私の答えは適切にフォーマットされていません。

于 2013-07-12T10:05:33.760 に答える