我正在创建一个layout并在顶部对齐的标题,底部对齐的页脚,并希望视图占用中间的所有剩余可用空间.
如果没有明确地将高度属性传递给每个视图,我该怎么做?
我的实际XML是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
orientation="vertical">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/library_header"
android:scaleType="fitXY" />
<ViewFlipper
android:id="@+id/content"
android:layout_height="0dip"
android:layout_width="match_parent"
android:layout_weight="1.0" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="44px"
android:layout_alignParentBottom="true"
android:background="@drawable/library_footer">
<Button
android:id="@+id/l_coverflow"
android:layout_width="44px"
android:layout_height="34px"
android:background="@drawable/library_coverflow_deselected"
android:layout_gravity="center" android:layout_marginLeft="12px" />
<Button
android:id="@+id/l_grid"
android:layout_width="36px"
android:layout_height="32px"
android:background="@drawable/library_grid_deselected"
android:layout_marginLeft="12px"
android:layout_gravity="center"
android:paddingLeft="10px" />
<Button
android:id="@+id/l_list"
android:layout_width="40px"
android:layout_height="32px"
android:background="@drawable/library_list_deselected"
android:layout_marginLeft="12px"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 如何通过另一个线程通过setBackgroundColor()更改LinearLayout的背景?
我了解到,Android UI Framework不是线程安全的,所以你不能通过另一个线程而不是UI线程来更改UI元素.
我的目标是通过调用setBackgroundColor()方法来创建一个频闪灯光效果,该方法在填充整个屏幕的LinearLayout上改变颜色(在这种情况下为黑/白/黑/等).
我有很多视图(textview)在linearlayout我想要每个视图ID当我点击视图但我不想setonclicklistener与每个视图
anyidea对我来说?
谢谢
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textViewd1"
android:layout_width="46dp"
android:layout_height="40dp"
android:background="#111111"
android:gravity="center"
android:text="SUN"
android:textAppearance="?android:attr/textAppearanceSmall" />
...
many textviews
...
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我在webservice中有一个数据连接.在Assynctask中,我每5秒获取一次数据.数据到达后,我制作新的数据集,请原来我只是重绘mChartView生活.在这里提出我的问题.折线图重新绘制不重新生成图表只是在最后一个新的顶部.当然2-3分钟的menmory :(
这是我的代码:
class GetData extends AsyncTask<Void, String, Void> {
private ArrayList<String> Alldata = new ArrayList<String>();
public XYMultipleSeriesDataset datasetOut;
public XYMultipleSeriesRenderer mRendererOut;
@Override
protected Void doInBackground(Void... unused) {
Alldata.clear();
Alldata = DataFromWeb.getChartDataNew("&name=XXX", "XXX");
return (null);
}
@Override
protected void onPostExecute(Void unused) {
datasetOut = CCChart.getDataSet(getBaseContext(), Alldata);
mRendererOut = CCChart.getRendererPortrait(getBaseContext());
Log.d("Debug", "alldatasize: " + Alldata.size());
Log.d("Debug", "dataset " + datasetOut.getSeriesCount() );
if (mChartView != null) {
mChartView.repaint();
Log.v("CC_trace", "CCChartRepaint");
} else {
mChartView = ChartFactory.getLineChartView(getBaseContext(), datasetOut , mRendererOut);
layout.addView(mChartView, new LayoutParams( …Run Code Online (Sandbox Code Playgroud) 我想以编程方式将一个TextView添加到XML文件中声明的Linearlayout,该文件定义应用于所有listview行的自定义行.为了做到这一点,我有以下代码:
<LinearLayout
android:id="@+id/zv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/title"
android:layout_marginBottom="1dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:orientation="vertical"
android:padding="1dip" >
</LinearLayout>
class ListViewAdapter extends BaseAdapter {
(...)
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.row, null);
TextView tv_nz = new TextView(activity.getApplicationContext());
LinearLayout zv = (LinearLayout)vi.findViewById(R.id.zv);
tv_nz.setText("testing...");
zv.addView(tv_nz);
(...)
return vi;
}
Run Code Online (Sandbox Code Playgroud)
但是TextView在每一行中出现多次.我究竟做错了什么?谢谢
android textview android-listview android-linearlayout baseadapter
我真的不明白为什么这个简单的代码在这一行崩溃了 layout.addView(button);
super.onCreate(savedInstanceState);
layout = (LinearLayout)findViewById(R.id.linearLayout);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
Button button = new Button(this);
button.setHeight(100);
button.setWidth(100);
button.setText("HELLO");
button.setLayoutParams(p);
layout.addView(button);
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linearLayout">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:编辑过的代码仍然粉碎.但现在压缩setContentView.
super.onCreate(savedInstanceState);
layout = (LinearLayout)findViewById(R.id.linearLayout);
setContentView(layout);
LayoutParams p = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
int i,j;
Button button = new Button(this);
button.setHeight(100);
button.setWidth(100);
button.setText("HELLO");
layout.addView(button,p);
Run Code Online (Sandbox Code Playgroud)
Logcat报告

我在xml中定义了textview,并尝试以编程方式将textview添加到linearlayout 10次.
这是我的代码.
public class MainActivity extends ActionBarActivity {
private TextView htext;
private LinearLayout linearlayout;
public void init()
{
linearlayout = (LinearLayout) findViewById(R.id.itemLayout0);
htext = (TextView) findViewById(R.id.hText0);
}
private void addtext() {
for (int i = 1; i <= 10; i++) {
htext.setText(i + "");
linearlayout.addView(htext);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
addtext();
}
}
Run Code Online (Sandbox Code Playgroud)
和Xml
<LinearLayout
android:id="@+id/itemLayout0"
android:layout_width="match_parent"
android:layout_height="89dp"
android:background="@drawable/title_background"
android:clickable="true"
android:orientation="vertical" >
<TextView
android:id="@+id/hText0"
android:layout_width="100sp"
android:layout_height="100sp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="No data"
android:textSize="15dp"
android:textStyle="bold" /> …Run Code Online (Sandbox Code Playgroud) 我必须创建具有一个图像和多个textview和这样的评级的布局,并且我在使用适配器对此布局进行充气时添加一行
| Image| Name of Product |
| Desc |
| Amount |
| EMI details |
| Rating Sybmol total Rating |
Run Code Online (Sandbox Code Playgroud)
所以我试图创建这样的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/mainLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:id="@+id/text"
android:text="Micromax Canvas Spark"
android:textColor="@android:color/black" />
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但我很困惑如何创建布局请帮助我
我正在尝试创建一个看起来像这样的简单UI
我是android的新手,并且一直在尝试不同类型的布局(线性/相对),我相信Linear可能是这里的方式(我希望在某个阶段使ListViews的数量动态,但现在2很好) .
我应该使用线性布局或相对布局,还是两者的某种组合来实现此目的.
这是我拥有的XML,即使它的重力设置为正确,我似乎无法使按钮正确对齐.我愿意接受有关如何解决此问题的任何建议,或者是否有更好的方法
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.9"
android:orientation="horizontal" >
<ListView
android:id="@+id/lv1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.0"
/>
<ListView
android:id="@+id/lv2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1.0"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.1"
android:orientation="horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="New Button"
android:id="@+id/button"
android:gravity="right" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:这是UI目前的样子
xml user-interface android android-linearlayout android-relativelayout
我有一个LinearLayout,我想为它设置边框.它应该如下所示.
这是我的布局,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".activities.AddInfoMainActivity"
tools:showIn="@layout/app_bar_main">
<LinearLayout
android:id="@+id/add_info_layout_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/add_info_layout_one_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/add_info_layout_one_img01"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="24dp"
android:src="@drawable/sample01" />
<TextView
android:id="@+id/add_info_layout_one_txtView01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="@string/add_info_txt_one_01"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/add_info_layout_one_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:id="@+id/add_info_layout_one_img02"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="24dp"
android:src="@drawable/sample02" />
<TextView
android:id="@+id/add_info_layout_one_txtView02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="@string/add_info_txt_one_02"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) android ×10
textview ×2
achartengine ×1
baseadapter ×1
border ×1
charts ×1
layout ×1
repaint ×1
view ×1
xml ×1