0

ユーザーが入力を開始すると検索バーがお気に入りボタンを覆い、入力していないときにお気に入りボタンが表示されるように、検索バーの幅を変更しようとしています。

ここに私が今持っているものがあります

searchBar.addTextChangedListener(new TextWatcher(){         
        public void afterTextChanged(Editable arg0){
            menuItems.this.adapter.getFilter().filter(arg0);
            if(searchBar.getText().length() <= 0){

                searchBar.getLayoutParams().width = 280;
                favButton.getLayoutParams().width = 15;
            }
            else{                   
                searchBar.getLayoutParams().width = 295;
                favButton.getLayoutParams().width = 0;
            }
        }
        public void beforeTextChanged(CharSequence s, int start, int count,int after) {
        }
        public void onTextChanged(CharSequence s, int start, int before, int count) {               
        }
    }); 
4

2 に答える 2

1

ビュー(この場合は[お気に入り]ボタン)を非表示/表示することが目標である場合は、別のアプローチを使用することをお勧めします。

これを試して:

if(searchBar.getText().length() <= 0) {
    searchBar.getLayoutParams().width = 280;
    favButton.setVisibility(View.Visible);
} else {                   
    searchBar.getLayoutParams().width = 295;
    favButton.setVisibility(View.GONE);
}

レイアウトを知らなくてもどれだけうまく機能するかを言うのは難しいですが、一般的に、固定寸法サイズで遊ぶのはあまり良い習慣ではありません。

于 2012-09-26T16:07:29.637 に答える
0

次のように AndroidManifest.xml に layout_width 要素を設定する必要があります。

android:layout_width="fill_parent"

この要素を EditText に次のように設定するだけです。

<EditText android:id="@+id/txtURL" android:layout_width="fill_parent"
...
...>
</EditText>
于 2012-09-26T16:11:02.783 に答える