- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在为 Android 编写一段代码时遇到问题。我使用的是eclipse开发环境。我想要完成的是将一周中的日子均匀地分布在表格的第一行(有六行)。我不知道如何才能使这些单词真正散开,而不是仅仅粘在一起。 (是的,我尝试过使用重量)。我的代码如下。对于问题中的任何拼写错误或代码中的注释,我提前表示歉意。
package A3.cal;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.TableLayout;
import android.widget.TableRow;
public class A3Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //it works dont touch it...
setContentView(R.layout.main); //old Content View
MonthView(); //setup the initial view
}
public void MonthView(){
TableRow[] tableRows = new TableRow[6]; //create table rows for the table
LinearLayout[] dayHeaderFrames = new LinearLayout[7]; //create the frame layouts for the table headers
TextView[] days = new TextView[7]; //create new text views array
days = populateDays(0); //make the textviews say the proper days (this can be faster by manipulating the strings and then adding to textview)
TableLayout monthView = (TableLayout) findViewById(R.id.monthView); //find month View in the xml file
LinearLayout headerLayout = new LinearLayout(this); //create the linear layout that will hold the frame layouts for the text views**
headerLayout.setBackgroundColor(Color.WHITE); //make the linear layouts white
LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f); //create the layout perameters for childeren
for(int i = 0; i < 6; i++){ //create the table rows
tableRows[i] = new TableRow(this); //create the new rows
}
tableRows[0].addView(headerLayout); //add the header layout to the first row
tableRows[0].setBackgroundColor(Color.RED); //set the background table row (only the first one which I am concentrating on) to red
monthView.setBackgroundColor(Color.BLUE); // make the table blue
for(int i = 0; i < 7; i++){ //add the headers to the month day header row
dayHeaderFrames[i] = new LinearLayout(this); //create new frames
headerLayout.addView(dayHeaderFrames[i], ll); //add the frames to the first row in the table
dayHeaderFrames[i].addView(days[i]); //add the textview objects to the frames (the text view objects already have the correct text from when populate days was called)
}
for(int i = 0; i < 6; i++){ //add the rows to the month view
monthView.addView(tableRows[i]); //add the new rows to the table
}
}
public TextView[] populateDays(int startDay){
TextView[] daysTextViewArr = new TextView[7]; //create a textview array
String[] days = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; //days of the week
for(int i = 0; i < 7; i++){ //put the days into the order based upon the start day
daysTextViewArr[i] = new TextView(this); //create a new text view object
//the following logic puts the days into order
int day = i + startDay;
if(day > 6){ //if the day will exceed the array put it back to the begining
day = day - 7;
}
daysTextViewArr[i].setText(days[i]); //set the text in the text view to the propper day
}
return daysTextViewArr;
}
}
以及 main 中的 XML 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TableLayout
android:id="@+id/monthView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</TableLayout>
回顾一下代码,除了间隔线性布局/ TextView 之外
我想提前感谢大家帮助我解决这个(以及许多其他)问题。
真诚的,
里德
最佳答案
解决方案很简单。您需要使用 android:stretchColumns 属性。将以下示例翻译为您的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:id="@+id/monthView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="0,1,2,3,4,5">
</TableLayout>
</LinearLayout>
Java代码
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getView();
}
public TextView[] populateDays(int startDay) {
TextView[] daysTextViewArr = new TextView[7];
String[] days = { "Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday" };
for (int i = 0; i < 7; i++) {
daysTextViewArr[i] = new TextView(this);
int day = i + startDay;
if (day > 6) {
day = day - 7;
}
daysTextViewArr[i].setText(days[i]);
}
return daysTextViewArr;
}
public void getView() {
TableRow[] tableRows = new TableRow[6];
TextView[] days = new TextView[7];
days = populateDays(0);
TableLayout monthView = (TableLayout) findViewById(R.id.monthView);
LinearLayout headerLayout = new LinearLayout(this);
headerLayout.setBackgroundColor(Color.WHITE);
LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1f); // create the
for (int i = 0; i < 6; i++) {
tableRows[i] = new TableRow(this);
}
for (int i = 0; i < 6; i++) {
tableRows[0].addView(days[i]);
}
monthView.setBackgroundColor(Color.BLUE);
for (int i = 0; i < 6; i++) {
monthView.addView(tableRows[i]);
}
}
}
关于java - Android LinearLayout 间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8612542/
这个问题在这里已经有了答案: Why should there be spaces around '[' and ']' in Bash? (4 个回答) 3年前关闭。 作为初学者,我没有在任何地方找
我有一个程序,我在其中输入 Java 程序来检查输入的字符串是否为回文。我有 2 个问题正在发生,我似乎一辈子都无法解决。 我已经输入了代码,这样它会告诉我它是否是一个回文,当所有小写字母不涉及空格时
table { border: 0; padding: 0; border-collapse: collapse;
我有 10 个单元格,其中第 6 个单元格的宽度必须与其他单元格不同。我试图在流委托(delegate)方法中更改它。但是从第 7 个单元格到第 10 个单元格的间距出了点问题。 func coll
我只是希望将这些新闻发布很好地隔开,以便在每次发布之间留出空隙。我在下面附上了一张图片来解释。我试图增加下面的填充,但这没有用。感谢您的帮助 .headline { position: absolut
如何使用 css 删除表格结构中烦人的单元格间距和/或填充?如果解决方案在 IE7-9、Firefox 和 Chrome 中有效,请加倍支持! 为什么CSS这么难!真让人抓狂! 最佳答案 通常,在该表
我在我正在使用的网站上设置了按钮。我想在按钮外创建一个 2px 的边框,有一点间距。请参见设计图像。 我可以创建边框,但不能创建边框之外的间距。这是当前的开发站点。按钮是第一个图形。 到目前为止我已经
我正在网站上生成元素符号列表(通过使用 jquery 自动完成功能)和我在网站中使用响应式网页设计。 我想在每个列表项后留一个空格。为此,我添加了以下 CSS: li { margin-b
我在格式化我的 HTML 页面时遇到困难。 正如您从源代码中看到的那样,它是一个表格,其中每一行都包含由我的网络应用程序动态填充的格式化记录列表。如果其中一列有空值,我想保留行的格式,所以我基本上应该
我一直致力于设计一个具有三个链接的跨移动设备宽度的设计。我不明白为什么我不能得到正确的间距。什么看起来不对劲? 设计如下: 下面是编码版本的样子: 这是我的 CSS: .b-nav-Wrapper {
我需要在 matplotlib 中生成一大堆垂直堆叠的图。结果将使用 savefig 保存并在网页上查看,所以我不在乎最终图像有多高,只要子图间隔开,这样它们就不会重叠。 无论我允许这个数字有多大,子
我需要在 matplotlib 中生成一大堆垂直堆叠的图。结果将使用 savefig 保存并在网页上查看,所以我不在乎最终图像有多高,只要子图之间有间距,不重叠即可。 无论我允许图有多大,子图似乎总是
是否可以在 BorderPane 上设置节点之间的间距? ? Swing 等效项将是 BorderLayout 上的 hgap 和 vgap . 我在文档中没有找到任何内容,我能想到的唯一可行的解
我有一个基于日历的应用 我希望用户能够通过捏合来放大和缩小日历。这是我的代码: let p = UIPinchGestureRecognizer(target: self, action: #sele
我在为 Android 编写一段代码时遇到问题。我使用的是eclipse开发环境。我想要完成的是将一周中的日子均匀地分布在表格的第一行(有六行)。我不知道如何才能使这些单词真正散开,而不是仅仅粘在一起
我有一个基于日历的应用 我希望用户能够通过捏合来放大和缩小日历。这是我的代码: let p = UIPinchGestureRecognizer(target: self, action: #sele
我该怎么做才能对齐此代码中的所有列?这是正确的还是......? import urllib.request from re import findall def determinarLlegadas
当使用垂直对齐的 BoxLayout 时,如何阻止组件随着包含的 JFrame 的增长而扩展,从而在底部留下额外的空间?我尝试了不同的布局,但很快就变得一团糟。我还尝试在面板底部添加胶水,但布局管理器
我正在尝试制作 cout #include int main() { std::cout << setw(4) << 1 << setw(4) << 2 << std::endl; } 输出
使用示例 http://developer.android.com/guide/tutorials/views/hello-tabwidget.html通过向布局添加 HorizontalScro
我是一名优秀的程序员,十分优秀!