gpt4 book ai didi

android - 如何通过切换按钮调整整个 ListView 的大小?

转载 作者:行者123 更新时间:2023-11-30 00:38:49 25 4
gpt4 key购买 nike

我想显示一个切换按钮,使用 On/state 可以放大整个 ListView ,使用 Off/state 可以将其返回到正常的上一个 View 。我设法创建了切换按钮,但是当按下它时,它会自行放大而不是 ListView 。如何关联切换按钮以放大打开/关闭整个 ListView ?提前致谢。

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ListView
android:id="@+id/tvList"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"/>

<ToggleButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/toggle_button"
android:textOn="Resize On"
android:textOff="Resize Off"
android:layout_weight="0.03"
android:onClick="changeSizeState"/>

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ToggleButton;
import android.view.ViewGroup.LayoutParams;
import static john.android.study.R.id.tvList;



public class MainActivity extends Activity {

private ListView lvPhone;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvPhone = (ListView)findViewById(R.id.tvList);

String[] values = new String[]{"Nikos", "Yiannis", "Kostas", "Thanasis", "Paulos",};

ListView lvPhone = (ListView)findViewById(tvList);

List<PhoneBook> listPhoneBook = new ArrayList<PhoneBook>();

for (String value : values) {
PhoneBook entry = new PhoneBook(value);
listPhoneBook.add(entry);
}

PhoneBookAdapter adapter = new PhoneBookAdapter(this,listPhoneBook);
lvPhone.setAdapter(adapter);
}
public void changeSizeState (View view){
boolean checked = ((ToggleButton)view).isChecked();
if(checked) {
LayoutParams params = view.getLayoutParams();
params.height = 250;
view.setLayoutParams(params);
}
}
}

最佳答案

您正在将布局参数设置为 toogle 按钮,在 listview 上尝试:

public void changeSizeState (View view){
boolean checked = ((ToggleButton)view).isChecked();
if(checked) {
LayoutParams params = view.getLayoutParams();
params.height = 250;
lvPhone.setLayoutParams(params);
}
}

同时你在onCreate中启动了一个新的listView,修改如下:

lvPhone = (ListView)findViewById(tvList);

希望这对您有所帮助。

关于android - 如何通过切换按钮调整整个 ListView 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42900522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com